CVE-2026-4177
Modified Modified - Updated After Analysis

Heap Buffer Overflow in YAML::Syck Perl Emitter Causes High Severity Risk

Vulnerability report for CVE-2026-4177, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-03-16

Last updated on: 2026-06-30

Assigner: CPANSec

Description

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.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-03-16
Last Modified
2026-06-30
Generated
2026-07-06
AI Q&A
2026-03-17
EPSS Evaluated
2026-07-05
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
toddr yaml to 1.37 (exc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-122 A heap overflow condition is a buffer overflow, where the buffer that can be overwritten is allocated in the heap portion of memory, generally meaning that the buffer was allocated using a routine such as malloc().
CWE-120 The product copies an input buffer to an output buffer without verifying that the size of the input buffer is less than the size of the output buffer.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Detection Guidance

I don't know

Mitigation Strategies

I don't know

Executive Summary

This vulnerability affects YAML::Syck versions through 1.36 for Perl and includes several potential security issues. One high-severity issue is a heap buffer overflow in the YAML emitter that happens when class names exceed the initially allocated 512 bytes. Additionally, the base64 decoder can read beyond the buffer end when trailing newlines are present. There is also a problem where strtok mutates the type_id in place, corrupting shared node data. Lastly, a memory leak occurs in the function syck_hdlr_add_anchor when a node already has an anchor, causing the incoming anchor string to be leaked on early return.

Impact Analysis

The heap buffer overflow can lead to memory corruption, which may allow an attacker to execute arbitrary code or cause a denial of service. The base64 decoder reading past buffer boundaries could also result in unexpected behavior or crashes. Corruption of shared node data due to strtok mutation can cause data integrity issues or application instability. The memory leak may lead to increased memory usage over time, potentially degrading system performance.

Compliance Impact

I don't know

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-4177. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart