CVE-2026-0994: Python Protobuf · Uncontrolled Recursion
Affects Python ProtobufSource CVE Database V5
Not known to be exploited · CVSS 8.2 High.
Data as of 26 Oct 2026, 06:26 UTC
- EPSS
- 0.7% chance of exploitation in 30 days – higher than 53% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:LExploitation evidence
Disclosed: evidence found.
CVE published 23 Jan 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponised: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 2026-10-26.
What to do
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| PythonProtobuf | Affected
| Fixed in– |
PyPIprotobufpkg:pypi/protobufOther threats | Affected
| Fixed in– |
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
Fixes for this vulnerability are available as indicated by multiple Red Hat security advisories and errata. Users should apply the relevant updates provided by their vendor or distribution to remediate the issue. Since this is not a cloud service, remediation requires updating the affected Python Protobuf library to a patched version beyond 33.4. Patch status is confirmed by Red Hat advisories linked in the references.
Description
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 that bypass the intended recursion limit, eventually exhausting Python’s recursion stack and causing a RecursionError.
References
- github.com/protocolbuffers/protobuf/pull/25239 (opens in a new tab)
- access.redhat.com/security/cve/CVE-2026-0994 (opens in a new tab)
- bugzilla.redhat.com/show_bug.cgi?id=2432398 (opens in a new tab)
- security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-0994.json (opens in a new tab)
- access.redhat.com/errata/RHSA-2026:3959 (opens in a new tab)
- access.redhat.com/errata/RHSA-2026:3958 (opens in a new tab)
- access.redhat.com/errata/RHSA-2026:3218 (opens in a new tab)
- access.redhat.com/errata/RHSA-2026:3094 (opens in a new tab)
- access.redhat.com/errata/RHSA-2026:3097 (opens in a new tab)
- access.redhat.com/errata/RHSA-2026:3220 (opens in a new tab)
- access.redhat.com/errata/RHSA-2026:3059 (opens in a new tab)
- access.redhat.com/errata/RHSA-2026:3219 (opens in a new tab)
- access.redhat.com/errata/RHSA-2026:3095 (opens in a new tab)
- access.redhat.com/errata/RHSA-2026:3461 (opens in a new tab)
- access.redhat.com/errata/RHSA-2026:3462 (opens in a new tab)
- access.redhat.com/errata/RHSA-2026:8748 (opens in a new tab)
- access.redhat.com/errata/RHSA-2026:8746 (opens in a new tab)
- access.redhat.com/errata/RHSA-2026:8747 (opens in a new tab)
- access.redhat.com/errata/RHSA-2026:16174 (opens in a new tab)
- access.redhat.com/errata/RHSA-2026:61627 (opens in a new tab)
- access.redhat.com/errata/RHSA-2026:61629 (opens in a new tab)