CVE-2019-25777 json
YAML versions before 1.27_001 for Perl allow a loaded perl/glob document to replace any package variable, which can lead to arbitrary code execution
published 2026-10-05 35 d ago modified 2026-10-06 33 d ago also EUVD-2019-20205
- cvss
- 7.3
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 29%
- public exploits
- 0
- none known
Summary
YAML versions before 1.27_001 for Perl allow a loaded perl/glob document to replace any package variable, which can lead to arbitrary code execution.
A perl/glob document names a package and a symbol, and supplies the value assigned to it. Nothing restricts the name, so the target can be @INC or YAML's own load options.
A perl/glob document that sets $YAML::LoadCode or $YAML::UseCode turns on code loading, which is off by default, for every later Load() in the process. A perl/code document is then passed to a string eval, so an attacker who supplies two documents to separate Load() calls in one process can execute arbitrary Perl code.
Patch / fix
- libyaml-perl Debian 14, Debian 13, Debian 12 1.29-1
debian advisories DEBIAN-CVE-2019-25777
- libyaml-perl Ubuntu Pro 16.04 LTS 1.15-1ubuntu0.1~esm1
- libyaml-perl Ubuntu Pro 18.04 LTS 1.24-1ubuntu0.1~esm1
ubuntu advisories UBUNTU-CVE-2019-25777
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- perl-YAML openSUSE Tumbleweed 1.321.0-2.1
opensuse advisories openSUSE-SU-2026:12368-1
- perl-YAML AlmaLinux 8 1.24-4.module_el8.10.0+4341+ab0ec422
almalinux advisories ALSA-2026:93471
- perl-YAML Rocky Linux 8 1.24-4.module+el8.10.0+40403+bd06a93a
- perl-YAML Rocky Linux 8 1.24-4.module+el8.10.0+40403+df14587c
- perl-YAML Rocky Linux 8 1.24-4.module+el8.10.0+40403+94558160
- perl-YAML Rocky Linux 8 1.24-4.module+el8.10.0+40403+9457ea6c
rocky linux advisories RLSA-2026:93471
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2019-25777 updated cvss 8.1
perl-yaml: perl-yaml: Arbitrary code execution via unrestricted package variable assignment
-
Red Hat Enterprise Linux 7 perl-YAML 1.31-7.el10affected: workaround, no fix available
-
Red Hat Enterprise Linux AppStream (v. 8) perl-YAML 1.24-4.module+el8.10.0+25073+42d87e53, perl-YAML 1.24-4.module+el8.10.0+25073+d1062575fixed: vendor fix RHSA-2026:93471
-
Red Hat Enterprise Linux 6 perl-YAML 1.31-7.el10 Red Hat Enterprise Linux 9 perl-YAML 1.31-7.el10 Red Hat Enterprise Linux 10 perl-YAML 1.31-7.el10not affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 33 d ago
Exploit prediction
0.35% chance of exploitation in the next 30 days, higher than 29% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CISA ADP | 3.1 | 7.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L |
| CNA | 3.1 | 7.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L |
Classification
References
Sources
- CVE List CVE-2019-25777
- NVD CVE-2019-25777
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.