Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Jan 29, 2026

This PR contains the following updates:

Package Change Age Confidence
protobuf 6.33.46.33.5 age confidence

protobuf affected by a JSON recursion depth bypass

CVE-2026-0994 / GHSA-7gcm-g887-7qv7

More information

Details

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.

Severity

  • CVSS Score: 8.2 / 10 (High)
  • Vector String: CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:L

References

This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).


Configuration

📅 Schedule: Branch creation - "" in timezone US/Central, Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@github-actions
Copy link
Contributor

Test Results

  120 files  ±0    120 suites  ±0   3m 30s ⏱️ -2s
  251 tests ±0    249 ✅ ±0   2 💤 ±0  0 ❌ ±0 
2 510 runs  ±0  2 480 ✅ ±0  30 💤 ±0  0 ❌ ±0 

Results for commit 647793f. ± Comparison against base commit df7cda3.

@jfriedri-ni
Copy link
Collaborator

From the "More information" region

Details
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.

Some of the data structures that our APIs exchange are user-authored, so this seems like a strong reason to update.

@jfriedri-ni jfriedri-ni merged commit ea3d919 into main Jan 30, 2026
351 checks passed
@jfriedri-ni jfriedri-ni deleted the users/renovate/pypi-protobuf-vulnerability branch January 30, 2026 15:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant