Perl YAML loads crafted glob documents that run arbitrary code
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Code execution
- Confidentiality · integrity · availability
- Low · Low · Low
- Fix status
- Partial Red Hat: 1 fixed, 1 without a fix
Attack profile from CVSS 3.1 · CISA ADP. Fix status from CNA and Red Hat. Impact type from CWE-502.
Summary
YAML for Perl before 1.27_001 lets a loaded perl/glob document replace any package variable (CWE-502). A document can set the YAML load options, which turns on code loading for later Load() calls in the same process. An unauthenticated remote attacker who supplies two documents to separate Load() calls can execute arbitrary Perl code.
Written with Claude Haiku 5.5 from the sources below · 2026-11-02
Description from the CNA
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| — | YAML | before 1.27_001 | 1.27_001 | Patch available | CNA |
- YAML Vendor— Affected before 1.27_001 Fixed in 1.27_001 Patch available CNA
Remediation
Upgrade YAML for Perl to 1.27_001 or later. Red Hat fixes this in RHSA-2026:93471 for Red Hat Enterprise Linux AppStream (v. 8). The sources list no fixed version for Red Hat Enterprise Linux 7.
Written with Claude Haiku 5.5 from the sources below · 2026-11-02
- Fix · CNA YAML Fixed in 1.27_001
Red Hat 1 advisory
- RHSA-2026:93471 Released 2026-11-02 · Red Hat rating Importantperl-YAML:1.24 security update
- Red Hat Enterprise Linux AppStream (v. 8) perl-YAML-1.24-4.module+el8.10.0+25073+42d87e53.noarch::perl-YAML:1.24, perl-YAML-1.24-4.module+el8.10.0+25073+42d87e53.src::perl-YAML:1.24, perl-YAML-1.24-4.module+el8.10.0+25073+d1062575.noarch::perl-YAML:1.24 +1
Vendor assessments
Red Hat
Red Hat rating: Important. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Enterprise Linux 7 | Affected | No fix yet |
| Red Hat Enterprise Linux AppStream (v. 8) | Fixed | RHSA-2026:93471 |
Not affected: 3 products
- Red Hat Enterprise Linux 10
- Red Hat Enterprise Linux 6
- Red Hat Enterprise Linux 9
Timeline
- 2026-10-05 Threatist record created from CVE-2019-25777
- 2026-10-05 Alias added: GHSA-38xx-2hm6-vh7q
- 2026-10-05 Affected versions changed · Red Hat
- 2026-10-05 CVSS score added · Red Hat
- 2026-10-06 Affected versions changed · Red Hat
- 2026-10-06 CVSS score added · CISA ADP
- 2026-10-06 CISA SSVC decision points changed
- 2026-10-21 Affected versions changed · Red Hat
- 2026-11-02 Fix available: RHSA-2026:93471 · Red Hat
- 2026-11-02 Fix available: Red Hat Enterprise Linux AppStream (v. 8) · Red Hat
References
Sources
- CVE-2019-25777 · CVE Program
- CVE-2019-25777 · NVD
- FIRST EPSS
- GHSA-38xx-2hm6-vh7q · GitHub Advisory Database · CC BY 4.0
- CVE-2019-25777 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences