PatchSiren

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.