| Gói / sản phẩm | Phiên bản bị ảnh hưởng | Phiên bản đã vá |
|---|---|---|
| protobuf | ≥ 5.26.0rc1, < 5.29.5≥ 6.30.0rc1, < 6.31.1< 4.25.8 | 5.29.56.31.14.25.8 |
| protobuf-python | ≥ 5.26.0, < 5.29.5≥ 6.30.0, < 6.31.1< 4.25.8 | 5.29.56.31.14.25.8 |
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.
This is a potential Denial of Service. Parsing nested protobuf data creates unbounded recursions that can be abused by an attacker.
For reproduction details, please refer to the unit tests decoder_test.py and message_test
A mitigation is available now. Please update to the latest available versions of the following packages:
Bạn đang dùng một trong các sản phẩm này? Quét site để biết có đang lộ phiên bản có lỗ hổng không.
Quét site miễn phí