Cyber Resilience

CVE-2026-0994

DoS in Google Protobuf ≤ 33.4

Published
23 January 2026
Modified
15 July 2026
Patch / advisory
CVSS Score v4 8.2
Click a component to see what it means
Raw vectorCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:L/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
EPSS Score 0.0066 48th percentile
Risk Priority 44 floored blend · peak EPSS

Summary

CVE-2026-0994 is a high-severity Uncontrolled Recursion (CWE-674) vulnerability in Google Protobuf. Its CVSS base score is 8.2 (High).

Operationally, exploitation aligns with the MITRE ATT&CK technique Endpoint Denial of Service (T1499); ranked at the 48th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.

The strongest mitigations our analysis identified map to SI-10 (Information Input Validation) and SC-5 (Denial-of-service Protection) — see the control section below for these in your framework.

Deeper analysis AI-assisted summary

Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.

CVE-2026-0994 is a denial-of-service (DoS) vulnerability in the google.protobuf.json_format.ParseDict() function within Python's Protocol Buffers library. The flaw allows the max_recursion_depth limit to be bypassed when parsing deeply nested google.protobuf.Any messages, due to missing recursion depth accounting in the internal Any-handling logic. An attacker can supply specially crafted nested Any structures that exhaust Python's recursion stack, resulting in a RecursionError.

The vulnerability carries a CVSS v3.1 base score of 7.5 (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H), making it exploitable remotely with low attack complexity, no privileges, and no user interaction required. Unauthenticated attackers who can supply malicious input to an affected application using this parsing function can trigger the recursion exhaustion, causing application crashes or service denial with high availability impact but no confidentiality or integrity compromise. It is associated with CWE-674 (Uncontrolled Recursion).

Mitigation is addressed in a patch via GitHub pull request #25239 in the protocolbuffers/protobuf repository: https://github.com/protocolbuffers/protobuf/pull/25239.

EU & UK References

Vulnerability Data

A denial-of-service (DoS) vulnerability exists in google.protobuf.json_format.ParseDict() in Python, where the max_recursion_depth limit can be bypassed when parsing nested google.protobuf.Any messages. Due to missing recursion depth accounting inside the internal Any-handling logic, an attacker can supply deeply nested Any structures…

more

that bypass the intended recursion limit, eventually exhausting Python’s recursion stack and causing a RecursionError.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1499 Endpoint Denial of Service Impact
Adversaries may perform Endpoint Denial of Service (DoS) attacks to degrade or block the availability of services to users.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2024-2410Same product: Google Protobuf
CVE-2025-4565Same vendor: Google
CVE-2025-38315Shared CWE-674
CVE-2023-50269Shared CWE-674
CVE-2025-5302Shared CWE-674
CVE-2026-47309Shared CWE-674
CVE-2026-40989Shared CWE-674
CVE-2026-6862Shared CWE-674
CVE-2025-9624Shared CWE-674
CVE-2024-28244Shared CWE-674

Affected Assets

google
protobuf
≤ 33.4

Mitigating Controls

Mitigating Controls (NIST 800-53 r5) AI

Input validation can reject or constrain data that would otherwise drive unbounded recursive calls.

DoS protection mechanisms limit the resource-exhaustion impact of uncontrolled recursion without eliminating the flaw.

System monitoring can observe anomalous resource consumption that signals runaway recursion after it begins.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.PS-06 mostly match
prevents

Secure SDLC practices directly prevent coding errors such as missing recursion limits or termination conditions.

DE.CM-09 partial match
prevents

Runtime monitoring of compute resources can detect excessive consumption caused by uncontrolled recursion.

ID.RA-01 partial match
prevents

Vulnerability identification processes can discover and record uncontrolled recursion flaws before deployment.

PR.IR-04 partial match
prevents

Capacity monitoring and resource provisioning can absorb or limit the impact of runaway recursion.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

finds

Security testing in development can detect excessive recursion via static analysis or fuzzing.

prevents

Secure development life cycle requires controls that prevent uncontrolled recursion through design and code review.

prevents

Application security requirements can mandate recursion limits or stack-depth checks.

prevents

Secure system architecture principles include resource-management and input-validation rules that limit recursion.

prevents

Secure coding standards directly prohibit or constrain recursive constructs that could exhaust stack or memory.

finds

Capacity management includes monitoring and limits that mitigate resource exhaustion from runaway recursion.

References