---
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.30559
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'
---

## Overview

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 deserializeBinary() API, causing a RangeError: Maximum call stack size exceeded and crashing the process. No authentication or prior knowledge of the schema is required.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.

## Vendor advisories

- **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)
