Skip to main content

Improper Restriction of Operations within the Bounds of a Memory Buffer


Severity High
Score 7.5/10


A parsing vulnerability for the "MessageSet" type in the ProtocolBuffers protobuf-cpp versions prior to 3.18.3, 3.19.0 prior to 3.19.5, 3.20.0 prior to 3.20.2 and 3.21.0 prior to 3.21.6 and protobuf-python versions prior to 3.18.3, 3.19.0 prior to 3.19.5, 3.20.0 prior to 3.20.2 and 4.0.0 prior to 4.21.6 can lead to out of memory failures. A specially crafted message with multiple key-value per elements creates parsing issues, and can lead to a Denial of Service against services receiving unsanitized input. We recommend upgrading to versions 3.18.3, 3.19.5, 3.20.2, 3.21.6 for protobuf-cpp and 3.18.3, 3.19.5, 3.20.2, 4.21.6 for protobuf-python. Versions for 3.16 and 3.17 are no longer updated.

  • LOW
  • NONE
  • NONE
  • NONE
  • NONE
  • HIGH

CWE-119 - Buffer Overflow

Buffer overflow attacks involve data transit and operations exceeding the restricted memory buffer, thereby corrupting or overwriting data in adjacent memory locations. Such overflow allows the attacker to run arbitrary code or manipulate the existing code to cause privilege escalation, data breach, denial of service, system crash and even complete system compromise. Given that languages such as C and C++ lack default safeguards against overwriting or accessing data in their memory, applications utilizing these languages are most susceptible to buffer overflows attacks.

Advisory Timeline

  • Published