Every CVE Search/ Get API key

CVE-2024-2410

Use after free in C++ protobuf

7.6 HighFix available

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.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
Low
User interaction
None

What an attacker can affect

Confidentiality
High
Integrity
Low
Availability
Low

Exploit likelihood

0.33%Up 0.3 points since May 4, 2024
90%50%10%1%

What each source reports

CVE List Score used 7.6

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. 

Record
CVE-2024-2410
CVSS 3.1
7.6 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:L
Weakness
CWE-416
Updated
2026-11-02
EUVDEUVD-2024-27362 7.6

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. 

Record
EUVD-2024-27362
CVSS 3.1
7.6 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:L
Updated
2026-11-03
GitHub AdvisoriesGHSA-h86c-v8g6-46f2 7.6

The JsonToBinaryStream() function is part of the protocol buffers C++ implementation and is used...

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. 

Record
GHSA-h86c-v8g6-46f2
CVSS 3.1
7.6 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:L
Weakness
CWE-416
Updated
2026-11-02
NVD 7.6

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. 

Record
CVE-2024-2410
CVSS 3.1
7.6 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:L
CVSS 3.1
9.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-416
Updated
2026-11-02
OSVBELL-CVE-2024-2410 9.8
Record
BELL-CVE-2024-2410
CVSS 3.1
9.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSV 7.6

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. 

Record
CVE-2024-2410
CVSS 3.1
7.6 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:L
Weakness
CWE-416
Updated
2026-11-02
Show 4 moreShow less
OSVAZL-51077 No score

CVE-2024-2410 affecting package mysql for versions less than 8.0.40-2

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. 

Record
AZL-51077
Updated
2026-11-02
OSVAZL-51319 No score

CVE-2024-2410 affecting package mysql for versions less than 8.0.40-2

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. 

Record
AZL-51319
Updated
2026-11-05
OSVSUSE-SU-2025:20155-1 No score

Security update for protobuf

This update for protobuf fixes the following issues:

  • CVE-2024-2410: Fixed use after free when parsing JSON from a stream (bsc#1223947).
Record
SUSE-SU-2025:20155-1
Updated
2026-11-02
OSVSUSE-SU-2025:20672-1 No score

Security update for protobuf

This update for protobuf fixes the following issues:

  • CVE-2024-2410: Use after free when parsing JSON from a stream (bsc#1223947).
  • CVE-2024-7254: StackOverflow vulnerability in Protocol Buffers (bsc#1230778).
  • CVE-2025-4565: Parsing of untrusted Protocol Buffers data containing an arbitrary number of recursive groups or messages can lead to crash due to RecursionError (bsc#1244663).
Record
SUSE-SU-2025:20672-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
mysql
Azure Linux:2
before 8.0.40-2
8.0.40-2
mysql
Azure Linux:3
before 8.0.40-2
8.0.40-2
protobuf
Alpaquita:23
24.4-r0 and later None known
protobuf
Alpaquita:stream
23.4-r0 up to 25.6-r0
25.6-r0
protobuf
BellSoft Hardened Containers:stream
23.4-r0 up to 25.6-r0
25.6-r0
protobuf
SUSE:Linux Micro 6.0
before 23.4-9.1
23.4-9.1
protobuf
SUSE:Linux Micro 6.1
From an advisory covering 3 CVEs
before 23.4-slfo.1.1_2.1
23.4-slfo.1.1_2.1

History

History
RecordedChangedSources
affected
factsOSV
aliases, products, publishedEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2024-2410 is a high vulnerability (CVSS 7.6) in Google Protobuf, published May 3, 2024. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.33%, the 26th percentile. Fixed in mysql 8.0.40-2.

References

Show 8 moreShow less
MoveEnter Open