Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessDeliver malformed YAML to yaml-cpp parser
-
ExploitStale simple key crosses line break
-
ExecutionPopIndent underflows empty indent stack
-
ImpactInvalid dereference crashes parser / leaks memory
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Untrusted pointer prevention
|
| Exploitation Conditions | The consuming application must parse untrusted/attacker-controlled YAML using yaml-cpp 0.9.0. The specific trigger is a malformed YAML document with an unverified simple key (e.g. a plain scalar spanning a line break, as in issue #1475's input '!\n: |\nb\n>\n|\n !\n>') that leaves a stale simple key referencing an indent that gets popped, driving Scanner::PopAllIndents to underflow the indentation stack. Limiting factors: no public weaponized exploit for data theft (only a crash reproducer); impact is mostly a denial-of-parse/crash with at most Low confidentiality leakage; CVSS marks the vector local (AV:L), so an attacker needs a path to supply YAML to the vulnerable parser, and only yaml-cpp 0.9.0 is implicated. |
| Impact | Signals point to a modest, lower-priority issue despite the 'sensitive information' framing. CVSS base is 5.1 (Medium) with vector AV:L/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:L, i.e. local access, low complexity, no authentication, and only Low confidentiality plus Low availability impact. EPSS is 0.28% (21st percentile), indicating low predicted exploitation; this CVE is NOT in CISA KEV, so there is no confirmed active exploitation. Two conflicts must be flagged explicitly: (1) the description says 'remote attacker' but the CVSS vector is AV:L (local) - the real attack surface depends on how the consuming application feeds YAML to the parser, so verify the deployment context rather than assuming remote reachability; (2) the description and CWE-822 (untrusted pointer dereference / information disclosure) conflict with the actual fix in PR #1476, which guards against an indentation-stack underflow in Scanner::PopAllIndents - behavior that is primarily a parser crash/DoS (consistent with the A:L in the vector) rather than a reliable data-leak primitive. Net: treat as a routine library-hardening patch for anyone parsing untrusted YAML with yaml-cpp 0.9.0, not an emergency. |
| Exploit ScenarioDerived | An application that embeds yaml-cpp 0.9.0 parses attacker-supplied YAML; a crafted document containing a stale, unverified simple key that spans a line break drives Scanner::PopIndent()/PushIndentTo() to pop from an empty indentation stack, causing an invalid dereference and a parser crash (with potential limited memory exposure). A concrete reproducer input exists publicly in GitHub issue #1475 and as a regression test in PR #1476. Exploitation is low-complexity but, per the CVSS vector, requires local access (AV:L) to reach the parser with the malicious input. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 03, 2026
Parsing a crafted, malformed YAML document with yaml-cpp 0.9.0 can underflow the scanner's indentation stack, crashing the parser and potentially leaking small amounts of process memory. The trigger is an unverified simple key - for example a plain scalar that spans a line break - which leaves a stale reference to an indent level that is subsequently popped, driving Scanner::PopAllIndents() past the bottom of the stack (CWE-822, untrusted pointer dereference); the practical outcome is a denial-of-parse/crash with at most Low confidentiality impact. Only yaml-cpp 0.9.0 is implicated, the consuming application must actually parse untrusted YAML for the bug to be reachable, and the assessed vector (CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:L, 5.1) reflects that local access requirement; EPSS is a low 0.28% (21st percentile) and there is no public exploit code identified at time of analysis, only a crash reproducer documented in upstream issue #1475 and fixed by pull request #1476.
RemediationAI
Upstream fix available (PR/commit); released patched version not independently confirmed. Apply the change in yaml-cpp pull request https://github.com/jbeder/yaml-cpp/pull/1476, which adds an INDENT_STACK_UNDERFLOW exception to PopAllIndents(), invalidates stale simple keys in ScanNextToken() when the top indent does not match the pending key, and ships a regression test, or upgrade to the first tagged yaml-cpp release that includes it once published (check https://github.com/jbeder/yaml-cpp/issues/1475 for the release note). If code cannot be rebuilt immediately, the highest-value compensating control is to stop feeding untrusted YAML to a 0.9.0-based parser: terminate the parse early or reject documents that mix plain scalars across line breaks with block scalar indicators, and keep parsing in a separate worker process with bounded memory and a hard timeout so an underflow crashes only the sandbox rather than the host service - the trade-off is that legitimate complex multi-line YAML may be rejected or that you add a process boundary and its latency. Pre-validating or normalizing input with an independent YAML implementation before it reaches yaml-cpp adds a second parser to maintain and can silently alter documents that yaml-cpp would accept, and restricting who can submit YAML (authenticated configuration endpoints only) reduces reachability but does not eliminate the bug for multi-tenant or file-upload paths. Given EPSS 0.28% and no public exploit code, patching on the normal maintenance cycle is reasonable; there is no need for emergency mitigation.
Affected VersionsENISA
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
yaml-cpp is a widely embedded C++ YAML 1.2 parser used by build tooling, robotics stacks (for example ROS), configuration loaders and other native applications. Its Scanner tokenizes input and maintains two coordinated structures: an indentation stack (m_indents, manipulated by PushIndentTo() and PopIndent()) and a set of potential simple keys (m_simpleKeys), each of which can hold a pointer (pIndent) to the indent level that was active when the key was recorded. The root-cause class here is CWE-822 (untrusted pointer dereference): when a plain scalar spans a line break, the pending simple key can remain unverified while its associated indent level is popped, leaving a dangling pIndent. PopAllIndents() then walks the indent stack without an emptiness check, so the stale key causes an underflow past the base of the stack and an out-of-bounds/untrusted dereference. The upstream fix in PR #1476 adds an INDENT_STACK_UNDERFLOW parser exception to exclude this path from being reached, and in ScanNextToken() requires that the top-of-stack indent actually match the unverified simple key's pIndent before popping, otherwise calling InvalidateSimpleKey(); a regression test 'LiteralScalarWithMultiLineUnverifiedPotentialSimpleKey' exercises the exact issue #1475 input ('!\n: |\nb\n>\n|\n !\n>'). The CPE field supplied with the advisory is an unpopulated placeholder (cpe:2.3:a:n/a:n/a), so product identification rests on the description, ENISA EUVD record EUVD-2026-84854 and the upstream GitHub issue/PR rather than on structured CPE data.
Know when Yaml Cpp gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:L/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:L
Library parses supplied input so PR:N/UI:N/AC:L; AV:L mirrors NVD's local framing; fix shows a crash (A:L) with at most minor memory exposure (C:L) and no integrity impact.
AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:H
Primary rating from Vendor (mitre).
CVSS VectorVendor: mitre
Lifecycle Timeline
2DescriptionCVE.org
An issue in yaml-cpp 0.9.0 allows a remote attacker to obtain sensitive information via the src/scanner.cpp, Scanner::PopIndent(), and Scanner::PushIndentTo() components
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
The function "Token& Scanner::peek" in scanner.cpp in yaml-cpp 0.5.3 and earlier allows remote attackers to cause a deni
An issue was discovered in singledocparser.cpp in yaml-cpp (aka LibYaml-C++) 0.6.2. Rated medium severity (CVSS 6.5), th
The SingleDocParser::HandleFlowSequence function in yaml-cpp (aka LibYaml-C++) 0.6.2 allows remote attackers to cause a
The SingleDocParser::HandleFlowMap function in yaml-cpp (aka LibYaml-C++) 0.6.2 allows remote attackers to cause a denia
The Scanner::EnsureTokensInQueue function in yaml-cpp (aka LibYaml-C++) 0.6.2 allows remote attackers to cause a denial
The SingleDocParser::HandleNode function in yaml-cpp (aka LibYaml-C++) 0.5.3 allows remote attackers to cause a denial o
Same weakness CWE-822 – Untrusted Pointer Dereference
View allSame technique Information Disclosure
View allVendor StatusVendor
SUSE
Severity: Moderate| Product | Status |
|---|---|
| SUSE Linux Enterprise Desktop 15 SP7 | Not-Affected |
| SUSE Linux Enterprise Micro 5.3 | Not-Affected |
| SUSE Linux Enterprise Micro 5.4 | Not-Affected |
| SUSE Linux Enterprise Micro 5.5 | Not-Affected |
| SUSE Linux Enterprise Module for Basesystem 15 SP7 | Not-Affected |
| SUSE Linux Enterprise Module for Desktop Applications 15 SP7 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP7 | Not-Affected |
| SUSE Linux Enterprise Server 16.0 | Not-Affected |
| SUSE Linux Enterprise Server 16.1 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Not-Affected |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Not-Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Not-Affected |
| SUSE Linux Micro 6.0 | Not-Affected |
| SUSE Linux Micro 6.1 | Not-Affected |
| SUSE Linux Micro 6.2 | Not-Affected |
| openSUSE Leap 16.0 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS | Not-Affected |
| SUSE Linux Enterprise Module for Basesystem 15 SP4 | Not-Affected |
| SUSE Linux Enterprise Module for Basesystem 15 SP5 | Not-Affected |
| SUSE Linux Enterprise Module for Basesystem 15 SP6 | Not-Affected |
| SUSE Linux Enterprise Module for Desktop Applications 15 SP4 | Not-Affected |
| SUSE Linux Enterprise Module for Desktop Applications 15 SP5 | Not-Affected |
| SUSE Linux Enterprise Module for Desktop Applications 15 SP6 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP4 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP4-LTSS | Not-Affected |
| SUSE Linux Enterprise Server 15 SP5 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP5-LTSS | Not-Affected |
| SUSE Linux Enterprise Server 15 SP6 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP6-LTSS | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP4 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP5 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | Not-Affected |
| SUSE CaaS Platform 4.0 | Not-Affected |
| SUSE Enterprise Storage 6 | Not-Affected |
| SUSE Enterprise Storage 7 | Not-Affected |
| SUSE Enterprise Storage 7.1 | Not-Affected |
| SUSE Linux Enterprise Desktop 15 | Not-Affected |
| SUSE Linux Enterprise Desktop 15 SP1 | Not-Affected |
| SUSE Linux Enterprise Desktop 15 SP2 | Not-Affected |
| SUSE Linux Enterprise Desktop 15 SP3 | Not-Affected |
| SUSE Linux Enterprise Desktop 15 SP4 | Not-Affected |
| SUSE Linux Enterprise Desktop 15 SP5 | Not-Affected |
| SUSE Linux Enterprise Desktop 15 SP6 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP1 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP1-ESPOS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP1-LTSS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP2 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP2-ESPOS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP2-LTSS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3-ESPOS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3-LTSS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15-ESPOS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15-LTSS | Not-Affected |
| SUSE Linux Enterprise Installer Updates 15 SP1 | Not-Affected |
| SUSE Linux Enterprise Installer Updates 15 SP2 | Not-Affected |
| SUSE Linux Enterprise Micro 5.0 | Not-Affected |
| SUSE Linux Enterprise Micro 5.1 | Not-Affected |
| SUSE Linux Enterprise Micro 5.2 | Not-Affected |
| SUSE Linux Enterprise Module for Basesystem 15 SP1 | Not-Affected |
| SUSE Linux Enterprise Module for Basesystem 15 SP2 | Not-Affected |
| SUSE Linux Enterprise Module for Basesystem 15 SP3 | Not-Affected |
| SUSE Linux Enterprise Module for Desktop Applications 15 | Not-Affected |
| SUSE Linux Enterprise Module for Desktop Applications 15 SP1 | Not-Affected |
| SUSE Linux Enterprise Module for Desktop Applications 15 SP2 | Not-Affected |
| SUSE Linux Enterprise Module for Desktop Applications 15 SP3 | Not-Affected |
| SUSE Linux Enterprise Real Time 15 SP2 | Not-Affected |
| SUSE Linux Enterprise Real Time 15 SP3 | Not-Affected |
| SUSE Linux Enterprise Real Time 15 SP4 | Not-Affected |
| SUSE Linux Enterprise Server 15 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP1 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP1-BCL | Not-Affected |
| SUSE Linux Enterprise Server 15 SP1-LTSS | Not-Affected |
| SUSE Linux Enterprise Server 15 SP2 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP2-BCL | Not-Affected |
| SUSE Linux Enterprise Server 15 SP2-LTSS | Not-Affected |
| SUSE Linux Enterprise Server 15 SP3 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP3-BCL | Not-Affected |
| SUSE Linux Enterprise Server 15 SP3-LTSS | Not-Affected |
| SUSE Linux Enterprise Server 15-LTSS | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP1 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP2 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP3 | Not-Affected |
| SUSE Manager Proxy 4.0 | Not-Affected |
| SUSE Manager Proxy 4.1 | Not-Affected |
| SUSE Manager Proxy 4.2 | Not-Affected |
| SUSE Manager Proxy 4.3 | Not-Affected |
| SUSE Manager Proxy LTS 4.3 | Not-Affected |
| SUSE Manager Retail Branch Server 4.0 | Not-Affected |
| SUSE Manager Retail Branch Server 4.1 | Not-Affected |
| SUSE Manager Retail Branch Server 4.2 | Not-Affected |
| SUSE Manager Retail Branch Server 4.3 | Not-Affected |
| SUSE Manager Retail Branch Server LTS 4.3 | Not-Affected |
| SUSE Manager Server 4.0 | Not-Affected |
| SUSE Manager Server 4.1 | Not-Affected |
| SUSE Manager Server 4.2 | Not-Affected |
| SUSE Manager Server 4.3 | Not-Affected |
| SUSE Manager Server LTS 4.3 | Not-Affected |
| openSUSE Leap 15.3 | Not-Affected |
| openSUSE Leap 15.4 | Not-Affected |
| openSUSE Leap 15.5 | Not-Affected |
| openSUSE Leap 15.6 | Not-Affected |
| openSUSE Leap Micro 5.2 | Not-Affected |
| openSUSE Leap Micro 5.3 | Not-Affected |
| openSUSE Leap Micro 5.4 | Not-Affected |
| openSUSE Leap Micro 5.5 | Not-Affected |
| SUSE Linux Enterprise Installer Updates 15 | Not-Affected |
| SUSE Linux Enterprise Server for NVIDIA 16.1 | Not-Affected |
EUVD-2026-84854
GHSA-8gfp-q62c-5p3c
NVD
CVE.org
EPSS
VulDB
Exploit-DB