Memory Corruption in protoc's JsonToBinaryStream Use-After-Free
CVE-2024-2410 Published on May 3, 2024

Use after free in C++ protobuf
The JsonToBinaryStream() function is part of the protocol buffers C++ implementation and is used to parse JSON from a stream. If the input is broken up into separate chunks in a certain way, the parser will attempt to read bytes from a chunk that has already been freed. 

NVD

Vulnerability Analysis

CVE-2024-2410 is exploitable with network access, and requires small amount of user privileges. This vulnerability is considered to have a low attack complexity. The potential impact of an exploit of this vulnerability is considered to have a high impact on confidentiality, with no impact on integrity and availability.

Attack Vector:
NETWORK
Attack Complexity:
LOW
Privileges Required:
LOW
User Interaction:
NONE
Scope:
UNCHANGED
Confidentiality Impact:
HIGH
Integrity Impact:
LOW
Availability Impact:
LOW

Weakness Type

What is a Dangling pointer Vulnerability?

Referencing memory after it has been freed can cause a program to crash, use unexpected values, or execute code.

CVE-2024-2410 has been classified to as a Dangling pointer vulnerability or weakness.


Products Associated with CVE-2024-2410

Want to know whenever a new CVE is published for Google Protobuf? stack.watch will email you.

 

Affected Versions

protocolbuffers protobuf: google protobuf:

Exploit Probability

EPSS
0.05%
Percentile
15.33%

EPSS (Exploit Prediction Scoring System) scores estimate the probability that a vulnerability will be exploited in the wild within the next 30 days. The percentile shows you how this score compares to all other vulnerabilities.