Every CVE Search/ Get API key

CVE-2026-4177

YAML::Syck versions through 1.36 for Perl has several potential security vulnerabilities including a high-severity heap buffer overflow in the YAML emitter

9.1 CriticalFix available

YAML::Syck versions through 1.36 for Perl has several potential security vulnerabilities including a high-severity heap buffer overflow in the YAML emitter.

The heap overflow occurs when class names exceed the initial 512-byte allocation.

The base64 decoder could read past the buffer end on trailing newlines.

strtok mutated n->type_id in place, corrupting shared node data.

A memory leak occurred in syck_hdlr_add_anchor when a node already had an anchor. The incoming anchor string 'a' was leaked on early return.

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
High
Integrity
None
Availability
High

Exploit likelihood

0.46%Up 0.5 points since Mar 17, 2026
90%50%10%1%

What each source reports

CVE List Score used 9.1

YAML::Syck versions through 1.36 for Perl has several potential security vulnerabilities including a high-severity heap buffer overflow in the YAML emitter

YAML::Syck versions through 1.36 for Perl has several potential security vulnerabilities including a high-severity heap buffer overflow in the YAML emitter.

The heap overflow occurs when class names exceed the initial 512-byte allocation.

The base64 decoder could read past the buffer end on trailing newlines.

strtok mutated n->type_id in place, corrupting shared node data.

A memory leak occurred in syck_hdlr_add_anchor when a node already had an anchor. The incoming anchor string 'a' was leaked on early return.

Record
CVE-2026-4177
CVSS 3.1
9.1 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H
CVSS 3.1
7.3 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L
Weakness
CWE-122, CWE-120
Updated
2026-11-02
EUVDEUVD-2026-12523 9.1

YAML::Syck versions through 1.36 for Perl has several potential security vulnerabilities including a high-severity heap buffer overflow in the YAML emitter.

The heap overflow occurs when class names exceed the initial 512-byte allocation.

The base64 decoder could read past the buffer end on trailing newlines.

strtok mutated n->type_id in place, corrupting shared node data.

A memory leak occurred in syck_hdlr_add_anchor when a node already had an anchor. The incoming anchor string 'a' was leaked on early return.

Record
EUVD-2026-12523
CVSS 3.1
9.1 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H
Updated
2026-11-02
GitHub AdvisoriesGHSA-72r6-p2x3-g9gj 9.1

YAML::Syck versions through 1.36 for Perl has several potential security vulnerabilities...

YAML::Syck versions through 1.36 for Perl has several potential security vulnerabilities including a high-severity heap buffer overflow in the YAML emitter.

The heap overflow occurs when class names exceed the initial 512-byte allocation.

The base64 decoder could read past the buffer end on trailing newlines.

strtok mutated n->type_id in place, corrupting shared node data.

A memory leak occurred in syck_hdlr_add_anchor when a node already had an anchor. The incoming anchor string 'a' was leaked on early return.

Record
GHSA-72r6-p2x3-g9gj
CVSS 3.1
9.1 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H
Weakness
CWE-120, CWE-122
Updated
2026-11-02
NVD 9.1

YAML::Syck versions through 1.36 for Perl has several potential security vulnerabilities including a high-severity heap buffer overflow in the YAML emitter.

The heap overflow occurs when class names exceed the initial 512-byte allocation.

The base64 decoder could read past the buffer end on trailing newlines.

strtok mutated n->type_id in place, corrupting shared node data.

A memory leak occurred in syck_hdlr_add_anchor when a node already had an anchor. The incoming anchor string 'a' was leaked on early return.

Record
CVE-2026-4177
CVSS 3.1
9.1 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H
CVSS 3.1
7.3 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L
Weakness
CWE-122, CWE-120
Updated
2026-11-02
OSVALPINE-CVE-2026-4177 9.1

YAML::Syck versions through 1.36 for Perl has several potential security vulnerabilities including a high-severity heap buffer overflow in the YAML emitter.

The heap overflow occurs when class names exceed the initial 512-byte allocation.

The base64 decoder could read past the buffer end on trailing newlines.

strtok mutated n->type_id in place, corrupting shared node data.

A memory leak occurred in syck_hdlr_add_anchor when a node already had an anchor. The incoming anchor string 'a' was leaked on early return.

Record
ALPINE-CVE-2026-4177
CVSS 3.1
9.1 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H
Updated
2026-11-02
OSVBELL-CVE-2026-4177 9.1
Record
BELL-CVE-2026-4177
CVSS 3.1
9.1 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H
Updated
2026-11-02
Show 12 moreShow less
OSV 9.1

YAML::Syck versions through 1.36 for Perl has several potential security vulnerabilities including a high-severity heap buffer overflow in the YAML emitter

YAML::Syck versions through 1.36 for Perl has several potential security vulnerabilities including a high-severity heap buffer overflow in the YAML emitter.

The heap overflow occurs when class names exceed the initial 512-byte allocation.

The base64 decoder could read past the buffer end on trailing newlines.

strtok mutated n->type_id in place, corrupting shared node data.

A memory leak occurred in syck_hdlr_add_anchor when a node already had an anchor. The incoming anchor string 'a' was leaked on early return.

Record
CVE-2026-4177
CVSS 3.1
9.1 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H
Weakness
CWE-122
Updated
2026-11-02
OSVDEBIAN-CVE-2026-4177 9.1

YAML::Syck versions through 1.36 for Perl has several potential security vulnerabilities including a high-severity heap buffer overflow in the YAML emitter. The heap overflow occurs when class names exceed the initial 512-byte allocation. The base64 decoder could read past the buffer end on trailing newlines. strtok mutated n->type_id in place, corrupting shared node data. A memory leak occurred in syck_hdlr_add_anchor when a node already had an anchor. The incoming anchor string 'a' was leaked on early return.

Record
DEBIAN-CVE-2026-4177
CVSS 3.1
9.1 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H
Updated
2026-11-02
OSVRHSA-2026:6470 7.3

Red Hat Security Advisory: perl-YAML-Syck security update

Record
RHSA-2026:6470
CVSS 3.1
7.3 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L
Updated
2026-11-02
OSVRHSA-2026:8311 7.3

Red Hat Security Advisory: perl-YAML-Syck security update

Record
RHSA-2026:8311
CVSS 3.1
7.3 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L
Updated
2026-11-02
OSVRLSA-2026:6470 7.3

Important: perl-YAML-Syck security update

This module provides a Perl interface to the libsyck data serialization library. It exports the Dump and Load functions for converting Perl data structures to YAML strings, and the other way around.

Security Fix(es):

  • perl-YAML-Syck: YAML::Syck versions through 1.36 for Perl has several potential security vulnerabilities including a high-severity heap buffer overflow in the YAML emitter (CVE-2026-4177)

For more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.

Record
RLSA-2026:6470
CVSS 3.1
7.3 HighCVSS: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-4177 9.1

YAML::Syck versions through 1.36 for Perl has several potential security vulnerabilities including a high-severity heap buffer overflow in the YAML emitter. The heap overflow occurs when class names exceed the initial 512-byte allocation. The base64 decoder could read past the buffer end on trailing newlines. strtok mutated n->type_id in place, corrupting shared node data. A memory leak occurred in syck_hdlr_add_anchor when a node already had an anchor. The incoming anchor string 'a' was leaked on early return.

Record
UBUNTU-CVE-2026-4177
CVSS 3.1
9.1 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H
CVSS 3.1
7.3 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L
Updated
2026-11-02
OSVALSA-2026:6470 No score

Important: perl-YAML-Syck security update

This module provides a Perl interface to the libsyck data serialization library. It exports the Dump and Load functions for converting Perl data structures to YAML strings, and the other way around.

Security Fix(es):

  • perl-YAML-Syck: YAML::Syck versions through 1.36 for Perl has several potential security vulnerabilities including a high-severity heap buffer overflow in the YAML emitter (CVE-2026-4177)

For more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.

Record
ALSA-2026:6470
Updated
2026-11-02
OSVAZL-109508 No score

CVE-2026-4177 affecting package perl-YAML 1.30-2

YAML::Syck versions through 1.36 for Perl has several potential security vulnerabilities including a high-severity heap buffer overflow in the YAML emitter.

The heap overflow occurs when class names exceed the initial 512-byte allocation.

The base64 decoder could read past the buffer end on trailing newlines.

strtok mutated n->type_id in place, corrupting shared node data.

A memory leak occurred in syck_hdlr_add_anchor when a node already had an anchor. The incoming anchor string 'a' was leaked on early return.

Record
AZL-109508
Updated
2026-11-02
OSVAZL-79977 No score

CVE-2026-4177 affecting package perl-YAML-Syck 1.34-1

YAML::Syck versions through 1.36 for Perl has several potential security vulnerabilities including a high-severity heap buffer overflow in the YAML emitter.

The heap overflow occurs when class names exceed the initial 512-byte allocation.

The base64 decoder could read past the buffer end on trailing newlines.

strtok mutated n->type_id in place, corrupting shared node data.

A memory leak occurred in syck_hdlr_add_anchor when a node already had an anchor. The incoming anchor string 'a' was leaked on early return.

Record
AZL-79977
Updated
2026-11-05
OSVMGASA-2026-0058 No score

Updated perl-YAML-Syck packages fix security vulnerabilities

YAML::Syck versions through 1.36 for Perl has several potential security vulnerabilities including a high-severity heap buffer overflow in the YAML emitter. (CVE-2026-4177)

Record
MGASA-2026-0058
Updated
2026-11-02
OSVopenSUSE-SU-2026:10551-1 No score

perl-YAML-Syck-1.440.0-1.1 on GA media

These are all security issues fixed in the perl-YAML-Syck-1.440.0-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2026:10551-1
Updated
2026-11-02
OSVopenSUSE-SU-2026:20771-1 No score

Security update for perl-YAML-Syck

This update for perl-YAML-Syck fixes the following issues:

Changes in perl-YAML-Syck:

  • updated to 1.450.0 (1.45) [Bug Fixes]

    • Fix: use syck_base64_free() to fix Windows "Free to wrong pool" crash in base64 encode/decode buffers; also plugs a memory leak (PR #189)
    • Fix: clear type tag on blessed scalar alias early-return so the stale tag no longer leaks onto the next emitted item (GH #193, PR #194)
    • Fix: negative float#base60 values produce wrong results; strip sign before accumulating and avoid negative zero for portable stringification (PR #191)
    • Fix: prevent memory leaks when Load/LoadJSON croak on parse errors (PR #192) [Maintenance]
    • Test: add coverage for SortKeys and JSON MaxDepth (PR #188)
    • Test: add error handling coverage for LoadFile/DumpFile (PR #190)
    • Update README
  • updated to 1.440.0 (1.44) [Bug Fixes]

    • Fix: positive hex and octal values parsed as 0 with ImplicitTyping (PR #187)
    • Fix: resolve uintptr_t redefinition error on Win64 MinGW (PR #186) 1.43 Apr 01 2026 [Bug Fixes]
    • Fix: prevent resource leaks on croak/early-return paths in Dump (PR #161)
    • Fix: prevent output SV leaks on croak in Dump/DumpFile callers (PR #163)
    • Fix: Load() in list context returns empty list for empty/undef input; also applies to LoadBytes and LoadUTF8 (GH #164, PR #165)
    • Fix: DumpCode serializes prototype string instead of code body (PR #168)
    • Fix: memory leak in !perl/scalar Load — newRV_inc should be newRV_noinc (PR #170)
    • Fix: add pTHX_ to SAVEDESTRUCTOR_X callback for threaded Perl (GH #175, PR #176)
    • Fix: add TODO guard for eval_pv leak on Perl < 5.14 (GH #179, PR #180)
    • Fix: negative hex and octal values parsed as 0 with ImplicitTyping (PR #183)
    • Fix: negative int#base60 values produce unsigned wraparound (PR #185) [Improvements]
    • Modernize META_MERGE for CPANTS compliance (PR #162)
    • Fix hash table size handling and remove compile warnings in syck_st (PR #174) [Maintenance]
    • Restore TODO guard for Dump code leak test on Perl < 5.26 (PR #167)
    • Resolve 2010 TODO in perl_json_postprocess with test coverage (PR #166)
    • CI: upgrade actions to resolve Node.js 20 deprecation warnings (PR #177) 1.42 Mar 27 2026 [Bug Fixes]
    • Fix: replace strtok() with strpbrk() and fix sign-compare warnings in perl_syck.h (PR #145)
    • Fix: terminate plain scalars at document boundaries --- and ... (PR #150)
    • Fix: skip %TAG and %YAML directives in document header (PR #151)
    • Fix: plug SV leak when eval_pv croaks on bad perl/code blocks (PR #153)
    • Fix: allow non-specific tag '!' before block scalars (GH #27, PR #102)
    • Fix: remove spurious %type <nodeId> for indent_open in gram.y (GH #157, PR #158)
    • Fix: use modern bison %define api.prefix directive (GH #159, PR #160) [Improvements]
    • Implement YAML merge key (<<) support (PR #149) [Maintenance]
    • Remove dead Perl 5.6/5.8 version guards from test files (PR #146)
    • Add YAML 1.0 spec compliance audit and coverage tests (PR #148)
    • Add comprehensive round-trip tests for YAML 1.0 spec features (PR #152)
    • Remove unneeded TODO in t/json-basic.t (PR #154)
    • Add regex Dump/Load/round-trip tests to perl tag scheme (PR #155)
    • Do not require a .y file to build YAML::Syck; add brew support for bison
    • Don't ship docs/ directory in tarball 1.41 Mar 22 2026 [Bug Fixes]
    • Fix float parsing on -Dusequadmath perls: use Perl's Atof() instead of strtod() so that floats like -3.14 are not corrupted by double-precision rounding artifacts (GH #140, PR #141) 1.39 Mar 21 2026 [Bug Fixes]
    • Fix t/yaml-implicit-typing.t failure with -Duselongdouble perls (GH #138, PR #139) 1.38 Mar 20 2026 [Bug Fixes]
    • Fix: escape solidus (/) as / in JSON::Syck::Dump…
Record
openSUSE-SU-2026:20771-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
perl-yaml-syck
Alpine:v3.24
before 1.45-r0
1.45-r0
perl-YAML-Syck
AlmaLinux:8
before 1.30-6.el8_10
1.30-6.el8_10
perl-YAML
Azure Linux:3
through 1.30-2 None known
perl-YAML-Syck
Azure Linux:3
through 1.34-1 None known
perl-yaml-syck
Alpaquita:23
1.34-r2 up to 1.34-r3
1.34-r3
perl-yaml-syck
Alpaquita:25
1.34-r5 up to 1.34-r6
1.34-r6
perl-yaml-syck
Alpaquita:stream
1.34-r1 up to 1.37-r0
1.37-r0
libyaml-syck-perl
Debian:12
before 1.34-2+deb12u2, plus listed versions
1.34-21.34-2+deb12u1
1.34-2+deb12u2
libyaml-syck-perl
Debian:13
before 1.34-2+deb13u2, plus listed versions
1.34-21.34-2+deb13u1
1.34-2+deb13u2
libyaml-syck-perl
Debian:14
before 1.36-2, plus listed versions
1.34-21.34-31.34-41.36-1
1.36-2
Show 16 moreShow less
Affected packages
PackageAffectedFixed
perl-YAML-Syck
Mageia:9
before 1.340.0-4.1.mga9
1.340.0-4.1.mga9
perl-YAML-Syck
Red Hat:enterprise_linux:8::crb
before 0:1.30-6.el8_10
0:1.30-6.el8_10
perl-YAML-Syck-debuginfo
Red Hat:enterprise_linux:8::crb
before 0:1.30-6.el8_10
0:1.30-6.el8_10
perl-YAML-Syck-debugsource
Red Hat:enterprise_linux:8::crb
before 0:1.30-6.el8_10
0:1.30-6.el8_10
perl-YAML-Syck
Red Hat:rhel_els:7
before 0:1.27-3.el7_9.1
0:1.27-3.el7_9.1
perl-YAML-Syck-debuginfo
Red Hat:rhel_els:7
before 0:1.27-3.el7_9.1
0:1.27-3.el7_9.1
perl-YAML-Syck
Rocky Linux:8
before 0:1.30-6.el8_10
0:1.30-6.el8_10
libyaml-syck-perl
Ubuntu:Pro:16.04:LTS
All versions, plus listed versions
1.27-2build21.29-11.29-1build11.29-1ubuntu0.16.04.1~esm1
None known
libyaml-syck-perl
Ubuntu:Pro:18.04:LTS
All versions, plus listed versions
1.29-1build31.29-1ubuntu0.18.04.1~esm1
None known
libyaml-syck-perl
Ubuntu:Pro:20.04:LTS
All versions, plus listed versions
1.31-11.31-1build11.31-1ubuntu0.1~esm1
None known
libyaml-syck-perl
Ubuntu:Pro:22.04:LTS
All versions, plus listed versions
1.34-1build11.34-1build21.34-1ubuntu0.1~esm1
None known
libyaml-syck-perl
Ubuntu: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-perl
Ubuntu:25.10
All versions, plus listed versions
1.34-2build41.34-31.34-3ubuntu0.1
None known
libyaml-syck-perl
Ubuntu:26.10
All versions, plus listed versions
1.36-11.36-31.47-11.47-1build1
None known
libyaml-syck-perl
Ubuntu:26.04:LTS
All versions, plus listed versions
1.34-31.34-41.36-1
None known
perl-YAML-Syck
openSUSE:Tumbleweed
before 1.440.0-1.1
1.440.0-1.1

History

History
RecordedChangedSources
factsOSV
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-4177 is a critical vulnerability (CVSS 9.1) in Toddr Yaml::syck, published March 16, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.46%, the 39th percentile. Fixed in perl-yaml-syck 1.45-r0.

References

Show 26 moreShow less
This page doesn't list everything

Left out here: the rest of 1 source description. The JSON record has them.

MoveEnter Open