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.
A heap buffer overflow occurs in the YAML emitter when class names exceed the initial 512 byte heap allocation. The base64 decoder can read data beyond buffer boundaries at trailing newline characters. The strtok function modified in-place the n->type_id field, causing corruption of shared node data. Additionally, in the syck_hdlr_add_anchor function, a memory leak occurred when the node already had a defined anchor — the incoming string 'a' was not freed on early return.
An attacker can cause disclosure of sensitive data from process memory (confidentiality) or cause application crash and service unavailability (availability), without requiring authentication.
The YAML::Syck library should be updated to version 1.37_01 or newer, available in the CPAN repository. A patch is available at the address indicated in the vendor references (commit e8844a31c8cf0052914b198fc784ed4e6b8ae69e).
YAML::Syck in all versions up to and including 1.36 (for Perl language).
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:HToddr Yaml\
APPToddr\
Related vulnerabilities
YAML::Syck versions before 1.36 for Perl has missing null-terminators which causes out-of-bounds read and pote...
XML::Parser dla Perl — heap buffer overflow przez off-by-one przy głębokim zagnieżdżeniu XML
XML::Parser versions through 2.45 for Perl could overflow the pre-allocated buffer size cause a heap corruptio...