CVE-2026-0994: protobuf affected by a JSON recursion depth bypass
(updated )
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/advisories/GHSA-7gcm-g887-7qv7
- github.com/protocolbuffers/protobuf
- github.com/protocolbuffers/protobuf/commit/5ebddcb1bcbe51d1fe323baa145e85f4f23128cf
- github.com/protocolbuffers/protobuf/commit/d2b001626d137c62dfee6c88c87324102531868b
- github.com/protocolbuffers/protobuf/issues/25070
- github.com/protocolbuffers/protobuf/pull/25239
- nvd.nist.gov/vuln/detail/CVE-2026-0994
Code Behaviors & Features
Detect and mitigate CVE-2026-0994 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →