GitHub Advisoryadvisory · PyPI

GHSA-8qvm-5x2c-j2w7 protobuf-python has a potential Denial of Service issue

HIGH Published 2025-06-16 Modified 2025-06-16 Official page ↗
Aliases
CVE-2025-4565
Ecosystem
PyPI
Packages
protobuf
Severity
High
CVSS vector
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Weaknesses
CWE-674
Reviewed
2025-06-16

Affected packages

• PyPI protobuf: < 4.25.8 → fixed in 4.25.8 • PyPI protobuf: >= 5.26.0rc1, < 5.29.5 → fixed in 5.29.5 • PyPI protobuf: >= 6.30.0rc1, < 6.31.1 → fixed in 6.31.1

Description

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: • protobuf-python(4.25.8, 5.29.5, 6.31.1)

Related

Alias · CVE (1)

  • CVE-2025-4565 Any project that uses Protobuf Pure-Python backend to parse untrusted Protocol Buffers data containing an arbitrary number of recursive… vulnerability

Weakness · CWE (1)

  • CWE-674 Uncontrolled Recursion weakness

References