Description
YAML::Syck versions before 1.38 for Perl has an out-of-bounds read.

The base60 (sexagesimal) parsing code in perl_syck.h has a buffer underflow bug in both int#base60 and float#base60 handlers. When processing the leftmost segment of a colon-separated value (e.g., the 1 in 1:30:45), the inner while loop can decrement a pointer past the start of the string buffer:

while ( colon >= ptr && *colon != ':' )
{
colon--;
}
if ( *colon == ':' ) *colon = '\0'; // colon may be ptr-1 here

When no colon is found (final/leftmost segment), colon becomes ptr-1, and the subsequent *colon dereference reads one byte before the allocated buffer.
Published: 2026-05-12
Score: n/a
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The YAML::Syck library contains a buffer underflow bug in the base60 parsing logic used by Perl. When an input string contains a colon‑separated value, the parser may decrement a pointer past the beginning of the buffer for the leftmost segment, resulting in a read one byte before the string allocation. This out‑of‑bounds read can leak arbitrary bytes of memory that are adjacent to the input, potentially exposing sensitive data such as authentication tokens or configuration values. The flaw exists in all releases of TODDR’s YAML::Syck before version 1.38 and is triggered during normal YAML parsing of external input.

Affected Systems

The vulnerability affects the TODDR YAML::Syck package implemented in Perl. Any installation of the library with a version prior to 1.38 is susceptible. Future or newer releases (1.38 and later) are considered safe. The product is publicly available on CPAN and can be used by any Perl application that deserializes YAML data.

Risk and Exploitability

The severity is unclear because a CVSS score is not provided and the EPSS score is not available. The vulnerability is not currently listed in CISA’s KEV catalog, indicating that no publicly known exploit has been reported. The risk of exploitation depends on whether an attacker can supply or influence YAML input to the application. The likely attack vector is through any interface that accepts user‑supplied YAML, which could be remote or local depending on the deployment. If leveraged, the memory disclosure could aid a broader compromise by revealing credentials or internal pointers, but no direct code execution is implied by the current description.

Generated by OpenCVE AI on May 12, 2026 at 18:57 UTC.

Remediation

Vendor Solution

Upgrade to YAML::Syck version 1.38 or later.


OpenCVE Recommended Actions

  • Upgrade the library to YAML::Syck 1.38 or newer.
  • Apply the patch referenced in the official commit (208a4d3bd1b5cdb4a791a6e3905bd6bd45e9d005) if a complete release is not available.
  • Add validation logic to reject malformed or unsafe base60 segments before they reach the parser.

Generated by OpenCVE AI on May 12, 2026 at 18:57 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 12 May 2026 19:30:00 +0000

Type Values Removed Values Added
References

Tue, 12 May 2026 18:00:00 +0000

Type Values Removed Values Added
First Time appeared Toddr
Toddr yaml::syck
Vendors & Products Toddr
Toddr yaml::syck

Tue, 12 May 2026 16:45:00 +0000

Type Values Removed Values Added
Description YAML::Syck versions before 1.38 for Perl has an out-of-bounds read. The base60 (sexagesimal) parsing code in perl_syck.h has a buffer underflow bug in both int#base60 and float#base60 handlers. When processing the leftmost segment of a colon-separated value (e.g., the 1 in 1:30:45), the inner while loop can decrement a pointer past the start of the string buffer: while ( colon >= ptr && *colon != ':' ) { colon--; } if ( *colon == ':' ) *colon = '\0'; // colon may be ptr-1 here When no colon is found (final/leftmost segment), colon becomes ptr-1, and the subsequent *colon dereference reads one byte before the allocated buffer.
Title YAML::Syck versions before 1.38 for Perl has an out-of-bounds read
Weaknesses CWE-124
References

Subscriptions

Toddr Yaml::syck
cve-icon MITRE

Status: PUBLISHED

Assigner: CPANSec

Published:

Updated: 2026-05-12T18:35:46.042Z

Reserved: 2026-03-28T19:33:37.653Z

Link: CVE-2026-5089

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Deferred

Published: 2026-05-12T17:16:21.720

Modified: 2026-05-12T19:16:34.193

Link: CVE-2026-5089

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-05-12T19:00:20Z

Weaknesses