CVE-2026-89418

Google · protobuf-javascript

Google protobuf-javascript is vulnerable to an uncontrolled recursion flaw when parsing crafted protobuf group fields, which allows unauthenticated attackers to cause a denial of service.

Executive summary

An unauthenticated remote denial of service vulnerability in Google protobuf-javascript allows attackers to crash Node.js services by sending a maliciously crafted protobuf payload.

Vulnerability

The library suffers from an uncontrolled recursion (CWE-674) when parsing unknown protobuf group fields. An unauthenticated attacker can trigger a stack overflow by sending a small, deeply nested START_GROUP wire byte sequence to the deserializeBinary() API.

Business impact

This vulnerability poses a significant risk to availability, as it enables trivial, unauthenticated remote service disruption. With a CVSS score of 8.7, the flaw is classified as High severity. Successful exploitation results in immediate process crashes, which can lead to widespread application downtime and service degradation for any Node.js environment utilizing the affected library.

Remediation

Immediate Action: Monitor the official GitHub security advisory at the provided reference link for the release of a patched version of the google-protobuf package.

Proactive Monitoring: Review application logs for unexpected crashes or error patterns associated with the deserializeBinary() function and evaluate network traffic for unusual protobuf wire-format payloads.

Compensating Controls: Implement input validation or size limits on incoming protobuf messages to reject deeply nested structures before they reach the deserialization logic.

Exploitation status

Public Exploit Available: Unknown

Analyst recommendation

Given the high CVSS score and the potential for unauthenticated service disruption, organizations should prioritize monitoring for vendor updates. Once a fix is released, update the google-protobuf dependency immediately across all production Node.js services to neutralize the risk of process termination.

More Google CVEs all →

History

  1. Collected by CVE Brief via github
  2. Held for re-check analysis graded thin
  3. Analyst report written

Sources

Originally found and disclosed by EQSTLab&@232-323, per the CVE Program record.