Skip to main content
← All vulnerabilities
CVE-2026-0994PYSEC-2026-1805GHSA-7GCM-G887-7QV7

Denial of Service in Python Protobuf

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 5.29.6, 6.33.5
1 proof of concept on GitHub
  • Exploitation: none
  • Automatable: yes
  • Technical impact: partial

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: yes · Technical impact: partial

  3. Record last updated

Affected versions

  • Python Protobuf

    through v33.4

  • protobufPyPI

    fixed in 5.29.6; From 6.30.0rc1 · fixed in 6.33.5

  • protobufPyPI

    From 6.30.0rc1 · fixed in 6.33.5

  • protobufPyPI

    fixed in 5.29.6

References 2

GitHub · protocolbuffers/protobuf

GitHub · Vardhan0257/upb-any-recursion-audit