CVE-2026-5089
YAML::Syck versions before 1.38 for Perl has an out-of-bounds read
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- Low
- Integrity
- Low
- Availability
- Low
Exploit likelihood
What each source reports
CVE List Score used
7.3
YAML::Syck versions before 1.38 for Perl has an out-of-bounds read
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.
- Record
CVE-2026-5089- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Weakness
- CWE-124
- Updated
- 2026-11-02
EUVDEUVD-2026-29543
7.3
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.
- Record
EUVD-2026-29543- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-jcwf-qrr5-xwq3
7.3
YAML::Syck versions before 1.38 for Perl has an out-of-bounds read. The base60 (sexagesimal)...
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.
- Record
GHSA-jcwf-qrr5-xwq3- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Weakness
- CWE-124
- Updated
- 2026-11-02
NVD
7.3
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.
- Record
CVE-2026-5089- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Weakness
- CWE-124
- Updated
- 2026-11-02
OSVBELL-CVE-2026-5089
7.3
- Record
BELL-CVE-2026-5089- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Updated
- 2026-11-02
OSV
7.3
YAML::Syck versions before 1.38 for Perl has an out-of-bounds read
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.
- Record
CVE-2026-5089- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Weakness
- CWE-124
- Updated
- 2026-11-02
Show 7 moreShow less
OSVDEBIAN-CVE-2026-5089
7.3
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.
- Record
DEBIAN-CVE-2026-5089- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-5089
7.3
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.
- Record
UBUNTU-CVE-2026-5089- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Updated
- 2026-11-02
OSVAZL-109511 No score
CVE-2026-5089 affecting package perl-YAML 1.30-2
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.
- Record
AZL-109511- Updated
- 2026-11-02
OSVAZL-86901 No score
CVE-2026-5089 affecting package perl-YAML-Syck 1.34-1
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.
- Record
AZL-86901- Updated
- 2026-11-05
OSVMGASA-2026-0148 No score
Updated perl-YAML-Syck package fixes security vulnerability
YAML::Syck versions before 1.38 for Perl have an out-of-bounds read.
- Record
MGASA-2026-0148- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:10846-1 No score
perl-YAML-Syck-1.450.0-4.1 on GA media
These are all security issues fixed in the perl-YAML-Syck-1.450.0-4.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:10846-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:20938-1 No score
Security update for perl-YAML-Syck
This update for perl-YAML-Syck fixes the following issues:
Changes in perl-YAML-Syck:
- CVE-2026-5089: prevent buffer underflow in base60 (sexagesimal) parsing (PR #133) (bsc#1265155).
- Record
openSUSE-SU-2026:20938-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
perl-YAMLAzure Linux:3 |
through 1.30-2 | None known |
perl-YAML-SyckAzure Linux:3 |
through 1.34-1 | None known |
perl-yaml-syckAlpaquita:23 |
1.34-r2 up to 1.34-r4 | 1.34-r4 |
perl-yaml-syckAlpaquita:25 |
1.34-r5 up to 1.34-r7 | 1.34-r7 |
perl-yaml-syckAlpaquita:stream |
1.34-r1 up to 1.45-r0 | 1.45-r0 |
libyaml-syck-perlDebian:12 |
before 1.34-2+deb12u3, plus listed versions 1.34-21.34-2+deb12u11.34-2+deb12u2 |
1.34-2+deb12u3 |
libyaml-syck-perlDebian:13 |
before 1.34-2+deb13u3, plus listed versions 1.34-21.34-2+deb13u11.34-2+deb13u2 |
1.34-2+deb13u3 |
libyaml-syck-perlDebian:14 |
before 1.36-3, plus listed versions 1.34-21.34-31.34-41.36-11.36-2 |
1.36-3 |
perl-YAML-SyckMageia:9 |
before 1.450.0-1.mga9 | 1.450.0-1.mga9 |
libyaml-syck-perlUbuntu:Pro:16.04:LTS |
All versions, plus listed versions 1.27-2build21.29-11.29-1build11.29-1ubuntu0.16.04.1~esm1 |
None known |
Show 9 moreShow less
| Package | Affected | Fixed |
|---|---|---|
libyaml-syck-perlUbuntu:Pro:18.04:LTS |
All versions, plus listed versions 1.29-1build31.29-1ubuntu0.18.04.1~esm1 |
None known |
libyaml-syck-perlUbuntu:Pro:20.04:LTS |
All versions, plus listed versions 1.31-11.31-1build11.31-1ubuntu0.1~esm1 |
None known |
libyaml-syck-perlUbuntu:Pro:22.04:LTS |
All versions, plus listed versions 1.34-1build11.34-1build21.34-1ubuntu0.1~esm1 |
None known |
libyaml-syck-perlUbuntu:Pro:24.04:LTS |
All versions, plus listed versions 1.34-21.34-2build11.34-2build21.34-2build31.34-2ubuntu0.24.04.1~esm1 |
None known |
libyaml-syck-perlUbuntu:25.10 |
All versions, plus listed versions 1.34-2build41.34-31.34-3ubuntu0.1 |
None known |
libyaml-syck-perlUbuntu:26.10 |
All versions, plus listed versions 1.36-11.36-31.47-11.47-1build1 |
None known |
libyaml-syck-perlUbuntu:26.04:LTS |
All versions, plus listed versions 1.34-31.34-41.36-1 |
None known |
perl-YAML-SyckopenSUSE:Tumbleweed |
before 1.450.0-4.1 | 1.450.0-4.1 |
perl-YAML-SyckopenSUSE:Leap 16.0 |
before 1.450.0-bp160.2.1 | 1.450.0-bp160.2.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| facts | OSV | |
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-5089 is a high vulnerability (CVSS 7.3) in Toddr Yaml::syck, published May 12, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.40%, the 34th percentile. Fixed in perl-yaml-syck 1.34-r4.
References
metacpan.org/release/TODDR/YAML-Syck-1.38/changes
github.com/cpan-authors/YAML-Syck/issues/132
github.com/cpan-authors/YAML-Syck/pull/133
github.com/cpan-authors/YAML-Syck/commit/208a4d3bd1b5cdb4a791a6e3905bd6bd45e9d005.patch
openwall.com/lists/oss-security/2026/05/12/16
nvd.nist.gov/vuln/detail/CVE-2026-5089
Show 14 moreShow less
github.com/advisories/GHSA-jcwf-qrr5-xwq3
docs.bell-sw.com/security/cves/CVE-2026-5089
cpan.org/modules
github.com/CVEProject/cvelistV5/tree/main/cves/2026/5xxx/CVE-2026-5089.json
github.com/toddr/YAML-Syck
security-tracker.debian.org/tracker/CVE-2026-5089
advisories.mageia.org/MGASA-2026-0148.html
bugs.mageia.org/show_bug.cgi?id=35525
metacpan.org/release/TODDR/YAML-Syck-1.45/source/Changes
ubuntu.com/security/CVE-2026-5089
cve.org/CVERecord?id=CVE-2026-5089
lists.security.metacpan.org/cve-announce/msg/39981051
suse.com/security/cve/CVE-2026-5089
bugzilla.suse.com/1265155