{"id":"CVE-2026-120455","kind":"vulnerability","aliases":["CVE-2026-120455"],"related":[],"title":"rapidyaml: crafted YAML with excess anchors corrupts memory and crashes","description":"rapidyaml through 0.16.0 contains an out-of-bounds write vulnerability in ParseEngine::_add_annotation() that allows attackers to corrupt memory by supplying YAML with excess anchors or tags. Attackers can submit YAML with consecutive anchors or tags to overflow the fixed two-element annotation array in release builds, corrupting stack memory and crashing the process.","summary":"rapidyaml, a C++ YAML parsing library, has an out-of-bounds write in its annotation handling that a crafted YAML document with consecutive anchors or tags can trigger. The sources say it corrupts stack memory and crashes the process.","severity":"medium","cvss":6.9,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["c++","package","rapidyaml","yaml-parsing"],"not_affected_if":["newer-version","trusted-input-only"],"how_to_check":"- Check whether the project depends on rapidyaml and which version is pinned, for example in `CMakeLists.txt`, a `conanfile`, a `vcpkg.json`, or a vendored copy of the `ryml` sources.\n- Confirm whether the application parses untrusted YAML with it.","fix":"- Move to a release newer than `0.16.0` (the sources link release notes; the exact fixed version is unknown from the sources).","status":"open","published_at":"2026-11-02T15:17:29+00:00","first_seen_at":"2026-11-02T15:24:03+00:00","triaged_at":"2026-11-02T15:26:08+00:00","updated_at":"2026-11-02T15:26:08+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-11-02T15:26:08Z","model":"claude-haiku-5-5","output":{"fix":"- Move to a release newer than `0.16.0` (the sources link release notes; the exact fixed version is unknown from the sources).","reach":"unknown","title":"rapidyaml: crafted YAML with excess anchors corrupts memory and crashes","impact":"low","summary":"rapidyaml, a C++ YAML parsing library, has an out-of-bounds write in its annotation handling that a crafted YAML document with consecutive anchors or tags can trigger. The sources say it corrupts stack memory and crashes the process.","audience":"developers","category":"package","nicknames":[],"who_cares":["c++","rapidyaml","yaml-parsing"],"confidence":0.6,"fix_status":"available","needs_auth":"no","worst_case":"Parser memory is corrupted and the process crashes; code execution is not stated.","analyst_note":"Confirm the fixed version and whether the stack corruption can yield code execution; check the release notes and the VulnCheck advisory linked in the sources.","how_to_check":"- Check whether the project depends on rapidyaml and which version is pinned, for example in `CMakeLists.txt`, a `conanfile`, a `vcpkg.json`, or a vendored copy of the `ryml` sources.\n- Confirm whether the application parses untrusted YAML with it.","plain_action":"","needs_analyst":true,"not_affected_if":["trusted-input-only","newer-version"],"who_is_affected":"Applications that link rapidyaml 0.16.0 or earlier and parse YAML supplied by someone outside the team are exposed. Programs that only parse trusted, local YAML files are less exposed. The sources do not describe a data-exfiltration path, only memory corruption and a crash.","user_interaction":"no","needs_special_setup":"no","severity_if_unknown":"medium"},"cost_usd":0.000732,"input_tokens":4203,"output_tokens":624,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-120455':13A,16A '-2026':12A,15A '0.16.0':65C 'add':76C 'allow':79C 'anchor':6A,47B,89C,98C 'annot':38B,77C,108C 'array':109C 'attack':80C,92C 'bound':34B,71C 'build':112C 'c':17B,25B 'consecut':46B,97C 'contain':66C 'corrupt':7A,56B,82C,113C 'craft':2A,42B 'crash':10A,60B,117C 'cve':11A,14A 'document':44B 'element':107C 'excess':5A,88C 'fix':104C 'handl':39B 'librari':28B 'memori':8A,58B,83C,115C 'out-of-bound':31B,68C 'overflow':102C 'packag':18B 'pars':22B,27B 'parseengin':75C 'process':62B,119C 'rapidyaml':1A,19B,23B,63C 'releas':111C 'say':54B 'sourc':53B 'stack':57B,114C 'submit':94C 'suppli':85C 'tag':49B,91C,100C 'trigger':51B 'two':106C 'two-el':105C 'vulner':73C 'write':35B,72C 'yaml':3A,21B,26B,43B,86C,95C 'yaml-pars':20B","nicknames":[],"mitigations":[],"who_affected":"Applications that link rapidyaml 0.16.0 or earlier and parse YAML supplied by someone outside the team are exposed. Programs that only parse trusted, local YAML files are less exposed. The sources do not describe a data-exfiltration path, only memory corruption and a crash.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"developers","plain_action":null,"pkeys":[],"ptokens":[],"labels":["c","medium","package","rapidyaml","yamlparsing"],"first_public_at":"2026-11-02T15:17:29+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:L/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","cvss_by":"disclosure@vulncheck.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-120455","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-120455","severity":null,"published_at":"2026-11-02T15:17:29+00:00","modified_at":"2026-11-02T15:17:29+00:00","first_seen_at":"2026-11-02T15:24:03+00:00","fetched_at":"2026-11-02T15:24:03+00:00","note":null}],"documents":[{"id":52507,"url":"https://github.com/biojppm/rapidyaml/releases/tag/v0.16.0","title":"Release notes: github.com","kind":"release","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Release notes: github.com"},{"id":52508,"url":"https://www.vulncheck.com/advisories/rapidyaml-through-0.16.0-out-of-bounds-write-via-parseengine-add-annotation","title":"Third-party advisory: www.vulncheck.com","kind":"advisory","source":"nvd","publisher":"research","text":null,"published_at":null,"relation":"advisory","confidence":null,"note":"Third-party advisory: www.vulncheck.com"}],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}