{"id":"CVE-2026-89418","title":"google-protobuf contains an unbounded recursion when parsing unknown protobuf group fields","summary":"google-protobuf contains an unbounded recursion when parsing unknown protobuf group fields. An attacker can send a small crafted payload of deeply nested START_GROUP wire bytes to any Node.js service that calls the generated deserializeB…","severity":"high","cvss":8.7,"cvssVector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","cwe":["CWE-674","CWE-606"],"vendor":"Google","product":"protobuf-javascript (aka google-protobuf npm package)","affected":["protobuf-javascript_aka_google-protobuf_npm_package All versions"],"published":"2026-09-17","updated":"2026-09-18","sourceUpdated":"2026-09-18T13:45:29.270","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-89418","references":[{"url":"https://github.com/protocolbuffers/protobuf-javascript/security/advisories/GHSA-5h29-r2cp-hfmr","label":"cve-coordination@google.com"},{"url":"https://github.com/protocolbuffers/protobuf-javascript/security/advisories/GHSA-5h29-r2cp-hfmr","label":"134c704f-9b21-4f2e-91b3-4a467353bcc0"},{"url":"https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-89418.json"},{"url":"https://access.redhat.com/security/cve/CVE-2026-89418"},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2536016"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-89418"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-89418"}],"tags":["nvd","cve.org","exploit-available","csaf","vex","red-hat"],"epss":0.00367,"epssPercentile":0.30423,"exploitAvailable":true,"ssvc":{"exploitation":"poc","automatable":"yes","technicalImpact":"partial","timestamp":"2026-09-17T19:37:56.690836Z"},"cvssSource":"cna","scores":{"cna":8.7,"vendor":7.5},"ingestedAt":"2026-09-17T14:19:30.981Z","slug":"CVE-2026-89418","body":"## Overview\n\ngoogle-protobuf contains an unbounded recursion when parsing unknown protobuf group fields. An attacker can send a small crafted payload of deeply nested START_GROUP wire bytes to any Node.js service that calls the generated deserializeBinary() API, causing a RangeError: Maximum call stack size exceeded and crashing the process. No authentication or prior knowledge of the schema is required.\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.\n\n## Vendor advisories\n\n- **Red Hat VEX** · Important · affected: Red Hat OpenShift AI (RHOAI) · no fix planned: Red Hat OpenShift AI (RHOAI) · updated 2026-09-17 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-89418.json)","depth":"midnight","depthScore":60,"depthScoreParts":{"impact":47.8,"likelihood":0.1,"exploitation":12,"ransomware":0},"changes":[{"seq":206578,"id":"CVE-2026-89418","ts":1789676938874,"field":"exploit_available","old":"false","new":"true"}]}