GitHub Advisoryadvisory · PyPI

GHSA-8gq9-2x98-w8hf protobuf-cpp and protobuf-python have potential Denial of Service issue

HIGH Published 2022-09-23 Modified 2024-07-05 Official page ↗
Aliases
CVE-2022-1941
Ecosystem
PyPI
Packages
protobuf
Severity
High
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weaknesses
CWE-119, CWE-1286
Reviewed
2022-09-23

Affected packages

• PyPI protobuf: < 3.18.3 → fixed in 3.18.3 • PyPI protobuf: >= 3.19.0, < 3.19.5 → fixed in 3.19.5 • PyPI protobuf: >= 3.20.0, < 3.20.2 → fixed in 3.20.2 • PyPI protobuf: >= 4.0.0, < 4.21.6 → fixed in 4.21.6

Description

Summary A message parsing and memory management vulnerability in ProtocolBuffer’s C++ and Python implementations can trigger an out of memory (OOM) failure when processing a specially crafted message, which could lead to a denial of service (DoS) on services using the libraries. Reporter: ClusterFuzz Affected versions: All versions of C++ Protobufs (including Python) prior to the versions listed below. Severity & Impact As scored by google Medium 5.7 - CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H Asscored byt NIST High 7.5 - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H A small (~500 KB) malicious payload can be constructed which causes the running service to allocate more than 3GB of RAM. Proof of Concept For reproduction details, please refer to the unit test that identifies the specific inputs that exercise this parsing weakness. Mitigation / Patching Please update to the latest available versions of the following packages: • protobuf-cpp (3.18.3, 3.19.5, 3.20.2, 3.21.6) • protobuf-python (3.18.3, 3.19.5, 3.20.2, 4.21.6)

Related

Alias · CVE (1)

  • CVE-2022-1941 A parsing vulnerability for the MessageSet type in the ProtocolBuffers versions prior to and including 3.16.1, 3.17.3, 3.18.2, 3.19.4,… vulnerability

Weakness · CWE (2)

  • CWE-119 Improper Restriction of Operations within the Bounds of a Memory Buffer weakness
  • CWE-1286 Improper Validation of Syntactic Correctness of Input weakness

References