YAML::Syck CVE-2025-11683
HIGHSeverity by source
AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Network-reachable via any app accepting untrusted YAML; no auth or config required; one-byte OOB read yields low C and low A, no integrity impact.
CVSS VectorNVD
Lifecycle Timeline
4Description PRE-NVD
AnalysisAI
Out-of-bounds memory read in YAML::Syck's bundled libsyck C library for Perl exposes any application calling Load() or LoadFile() on untrusted YAML to a one-byte heap over-read. The root flaw (CVE-2025-11683) resided in the libsyck block-scalar lexer's newline scanning logic; the patch issued for that CVE was incomplete, leaving a second lexer path uncovered - subsequently disclosed as CVE-2026-57077. Both are resolved in YAML-Syck 1.47 (released July 13, 2026). No public exploit has been identified and the vulnerability is not listed in the CISA KEV catalog.
Technical ContextAI
YAML::Syck is a Perl YAML module that wraps a bundled copy of the libsyck C library for parsing and emitting YAML documents. The flaw is classified CWE-125 (Out-of-bounds Read) and is located in the libsyck functions newline_len and is_newline, which scan forward through the input buffer looking for newline sequences, including CRLF pairs. During block-scalar lexing at a YAML document boundary (e.g., a '|' or '>' scalar adjacent to a '---' separator), the scan dereferences both the current byte and the immediately following byte to detect CRLF pairs, but performs no NUL-terminator check and no bounds verification against the heap lexer buffer's end. The result is a single byte read past the allocated buffer on the heap. The original CVE-2025-11683 fix addressed one such code path; the residual path - now documented as CVE-2026-57077 - was not covered by that patch. The vulnerable API surface is the default YAML::Syck::Load() and YAML::Syck::LoadFile() functions, which are the standard entry points for virtually all callers of this module.
Affected ProductsAI
YAML::Syck (YAML-Syck) for Perl, all versions before 1.47. The vulnerability resides in the bundled libsyck C library compiled as part of the XS extension and is reachable through the default YAML::Syck::Load() and YAML::Syck::LoadFile() interfaces. JSON::Syck, which shares the same libsyck backend, may also be affected on equivalent code paths. The fixed release is YAML-Syck 1.47, published July 13, 2026, documented at https://metacpan.org/release/TODDR/YAML-Syck-1.47/changes.
RemediationAI
Upgrade to YAML-Syck 1.47 or later using cpanm (run: cpanm YAML::Syck) or the CPAN shell (perl -MCPAN -e 'install YAML::Syck'). Version 1.47 resolves CVE-2026-57077 and three additional memory-safety CVEs in the same bundled libsyck code: CVE-2026-57075 (OOB read in base64 decoder), CVE-2026-57076 (use-after-free of anchor key string), and CVE-2026-13713 (use-after-free/double-free of anchor node). The upstream fix commit is at https://github.com/toddr/YAML-Syck/commit/44c90a109ec3215ee7ce747bd11209835e123d8b. If immediate upgrade is not possible, the most effective compensating control is to avoid calling Load() or LoadFile() on any externally supplied or attacker-influenced YAML; applications that process only internally generated or cryptographically signed YAML documents are not exposed to this attack path. No configuration flag or runtime option within YAML::Syck disables the vulnerable block-scalar lexer path while preserving normal YAML parsing.
Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug
In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it
GNU Bash through 4.3 processes trailing strings after function definitions in the values of environment variables, which
Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using
The (1) EPHEMERAL, (2) HTTPS, (3) MVG, (4) MSL, (5) TEXT, (6) SHOW, (7) WIN, and (8) PLT coders in ImageMagick before 6.
When running Apache Tomcat versions 9.0.0.M1 to 9.0.0, 8.5.0 to 8.5.22, 8.0.0.RC1 to 8.0.46 and 7.0.0 to 7.0.81 with HTT
Remote code execution is possible with Apache Tomcat before 6.0.48, 7.x before 7.0.73, 8.x before 8.0.39, 8.5.x before 8
GNU Bash through 4.3 bash43-025 processes trailing strings after certain malformed function definitions in the values of
The (1) TLS and (2) DTLS implementations in OpenSSL 1.0.1 before 1.0.1g do not properly handle Heartbeat Extension packe
Race condition in mm/gup.c in the Linux kernel 2.x through 4.x before 4.8.3 allows local users to gain privileges by lev
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 17 and earlier, and
Local privilege escalation in the GNU C Library (glibc) dynamic loader ld.so allows unprivileged local users on affected
Same weakness CWE-119 – Buffer Overflow
View allSame technique Buffer Overflow
View allVendor StatusVendor
SUSE
Severity: Moderate| Product | Status |
|---|---|
| SUSE Package Hub 15 SP7 | Fixed |
| openSUSE Leap 16.0 | Fixed |
| openSUSE Tumbleweed | Fixed |
| SUSE Package Hub 15 SP7 | Affected |
Share
External POC / Exploit Code
Leaving vuln.today