-
Notifications
You must be signed in to change notification settings - Fork 23
chore(deps): Update dependency protobuf [SECURITY] #495
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
chore(deps): Update dependency protobuf [SECURITY] #495
Conversation
/gcbrun |
Summary of ChangesHello @renovate-bot, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request updates the Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request correctly updates the protobuf
dependency across multiple requirements.txt
files to address the security vulnerability CVE-2025-4565. The version bumps to 5.29.5
and 6.31.1
are appropriate remediations.
However, there are inconsistencies in how the updates have been applied. In some cases, the source files for dependency management (like requirements.in
or uv.lock
) have not been updated along with the generated requirements.txt
files. This could lead to the security patch being accidentally reverted in the future. I've added specific comments on the affected files with suggestions on how to resolve this.
protobuf==5.29.5 \ | ||
--hash=sha256:3f1c6468a2cfd102ff4703976138844f78ebd1fb45f49011afc5139e9e283079 \ | ||
--hash=sha256:3f76e3a3675b4a4d867b52e4a5f5b78a2ef9565549d4037e06cf7b0942b1d3fc \ | ||
--hash=sha256:470f3af547ef17847a28e1f47200a1cbf0ba3ff57b7de50d22776607cd2ea353 \ | ||
--hash=sha256:63848923da3325e1bf7e9003d680ce6e14b07e55d0473253a690c3a8b8fd6e61 \ | ||
--hash=sha256:6cf42630262c59b2d8de33954443d94b746c952b01434fc58a417fdbd2e84bd5 \ | ||
--hash=sha256:6f642dc9a61782fa72b90878af134c5afe1917c89a568cd3476d758d3c3a0736 \ | ||
--hash=sha256:7318608d56b6402d2ea7704ff1e1e4597bee46d760e7e4dd42a3d45e24b87f2e \ | ||
--hash=sha256:bc1463bafd4b0929216c35f437a8e28731a2b7fe3d98bb77a600efced5a15c84 \ | ||
--hash=sha256:e38c5add5a311f2a6eb0340716ef9b039c1dfa428b28f25a7838ac329204a671 \ | ||
--hash=sha256:ef91363ad4faba7b25d844ef1ada59ff1604184c0bcd8b39b8a6bef15e1af238 \ | ||
--hash=sha256:fa18533a299d7ab6c55a238bf8629311439995f2e7eca5caaff08663606e9015 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
While updating protobuf
to 5.29.5
is correct for patching the security vulnerability, the source file examples/high-throughput-compute-standalone/american-option/requirements.in
still specifies protobuf==5.27.2
. Since this requirements.txt
file is auto-generated from requirements.in
(as noted in the file header), this change will be overwritten the next time dependencies are compiled. To fix this permanently, requirements.in
should be updated to protobuf==5.29.5
and this requirements.txt
file should be regenerated.
pillow==10.4.0 | ||
proto-plus==1.25.0 | ||
protobuf==5.28.3 | ||
protobuf==5.29.5 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
While updating protobuf
to 5.29.5
here is correct for patching the security vulnerability, the lock file examples/high-throughput-compute-standalone/ui/uv.lock
still specifies protobuf==5.28.3
. If requirements.txt
is generated from uv.lock
, this change may be overwritten. To ensure consistency and make the fix permanent, please update the uv.lock
file (e.g., by running uv pip compile pyproject.toml --upgrade-package protobuf
) and then regenerate this requirements.txt
file from the updated lock file.
ea9c6f4
to
c71af90
Compare
/gcbrun |
c71af90
to
8b490db
Compare
/gcbrun |
8b490db
to
01854ec
Compare
/gcbrun |
01854ec
to
4549602
Compare
/gcbrun |
4549602
to
953b365
Compare
/gcbrun |
953b365
to
1d840ea
Compare
/gcbrun |
This PR contains the following updates:
==5.28.3
->==5.29.5
==6.30.0
->==6.31.1
==5.27.2
->==5.29.5
GitHub Vulnerability Alerts
CVE-2025-4565
Summary
Any project that uses Protobuf pure-Python backend to parse untrusted Protocol Buffers data containing an arbitrary number of recursive groups, recursive messages or a series of
SGROUP
tags can be corrupted by exceeding the Python recursion limit.Reporter: Alexis Challande, Trail of Bits Ecosystem Security Team
[email protected]
Affected versions: This issue only affects the pure-Python implementation of protobuf-python backend. This is the implementation when
PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python
environment variable is set or the default when protobuf is used from Bazel or pure-Python PyPi wheels. CPython PyPi wheels do not use pure-Python by default.This is a Python variant of a previous issue affecting protobuf-java.
Severity
This is a potential Denial of Service. Parsing nested protobuf data creates unbounded recursions that can be abused by an attacker.
Proof of Concept
For reproduction details, please refer to the unit tests decoder_test.py and message_test
Remediation and Mitigation
A mitigation is available now. Please update to the latest available versions of the following packages:
Configuration
📅 Schedule: Branch creation - "" (UTC), 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.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.