PatchSiren cyber security CVE debrief
CVE-2019-25777 TINITA CVE debrief
CVE-2019-25777 debrief based on the supplied source corpus. The vulnerability is in YAML versions before 1.27_001 for Perl, allowing a loaded perl/glob document to replace any package variable, potentially leading 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. This vulnerability can be exploited by an attacker who supplies two documents to separate Load() calls in one process to execute arbitrary Perl code.
- Vendor
- TINITA
- Product
- YAML
- CVSS
- Unknown
- CISA KEV
- Not listed in stored evidence
- Original CVE published
- 2026-10-05
- Original CVE updated
- 2026-10-05
- Advisory published
- 2026-10-05
- Advisory updated
- 2026-10-05
Who should care
Defenders and developers using Perl and YAML versions before 1.27_001 should assess exposure and verify YAML version. They should review the supplied official advisory or CVE record to validate affected scope, severity, and vendor guidance. They should also plan vendor-supported updates or mitigations through normal change control where exposure is confirmed.
Why it matters
CVE-2019-25777 is a vulnerability in YAML versions before 1.27_001 for Perl that allows a loaded perl/glob document to replace any package variable, potentially leading to arbitrary code execution. Defenders and developers using Perl and YAML versions before 1.27_001 should assess exposure and verify YAML version.
- Potential arbitrary code execution
- Package variable replacement vulnerability
- Code loading turned on by perl/glob document
Technical summary
The CVE record indicates that YAML versions before 1.27_001 for Perl allow a loaded perl/glob document to replace any package variable, potentially leading 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.
Defensive priority
Assess exposure and verify YAML version.
Recommended defensive actions
- Assess exposure to vulnerable YAML versions
- Verify YAML version and update to 1.27_001 or later
- Monitor for suspicious perl/glob documents
- Review compensating controls for exposed systems while remediation is scheduled and verified
- Check relevant monitoring, detection, and logs for exposed assets that need extra review
- Track exceptions, retest remediated assets, and close the item only after evidence is documented
- Confirm whether affected product deployments exist in managed environments and assign an owner for follow-up
Evidence notes
The CVE record indicates that YAML versions before 1.27_001 for Perl allow a loaded perl/glob document to replace any package variable, potentially leading to arbitrary code execution. The perl/glob document can set $YAML::LoadCode or $YAML::UseCode, turning on code loading for every later Load() in the process. An attacker can exploit this by supplying two documents to separate Load() calls in one process to execute arbitrary Perl code. Defenders should verify YAML version and assess exposure.
Sources and references
Verified primary and authoritative sources
-
CVE-2019-25777 CVE Program record
Publisher, destination, and source semantics verified
URL: https://www.cve.org/CVERecord?id=CVE-2019-25777
CVE Program - Official CVE Program record with source-provided CVE metadata.
-
CVE-2019-25777 NVD vulnerability detail
Publisher, destination, and source semantics verified
URL: https://nvd.nist.gov/vuln/detail/CVE-2019-25777
NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.
Supplemental references
-
Source reference
Unverified legacy reference
URL: https://github.com/ingydotnet/yaml-pm/commit/bace96b5e6661d521c7c515c94a09e081c911fce.patch
9b29abf9-4ab0-4765-b253-1875cd9b441e
-
Source reference
Unverified legacy reference
URL: https://github.com/ingydotnet/yaml-pm/issues/212
9b29abf9-4ab0-4765-b253-1875cd9b441e
-
Source reference
Unverified legacy reference
URL: https://metacpan.org/release/TINITA/YAML-1.28/changes
9b29abf9-4ab0-4765-b253-1875cd9b441e
Methodology and review provenance
AI-assisted synthesis based on stored public vulnerability evidence. System validation, approval state, and publication status do not by themselves establish human review of this revision. PatchSiren helps prioritize defensive review and does not prove exposure or remediation on any system.