CVE-2024-2410
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.
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
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 High
CVSS: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 High
CVSS: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 High
CVSS: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 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:L - CVSS 3.1
- 9.8 Critical
CVSS: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 Critical
CVSS: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 High
CVSS: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
| Package | Affected | Fixed |
|---|---|---|
mysqlAzure Linux:2 |
before 8.0.40-2 | 8.0.40-2 |
mysqlAzure Linux:3 |
before 8.0.40-2 | 8.0.40-2 |
protobufAlpaquita:23 |
24.4-r0 and later | None known |
protobufAlpaquita:stream |
23.4-r0 up to 25.6-r0 | 25.6-r0 |
protobufBellSoft Hardened Containers:stream |
23.4-r0 up to 25.6-r0 | 25.6-r0 |
protobufSUSE:Linux Micro 6.0 |
before 23.4-9.1 | 23.4-9.1 |
protobufSUSE: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
| Recorded | Changed | Sources |
|---|---|---|
| affected | ||
| facts | OSV | |
| aliases, products, published | EUVD | |
| first indexed | CVE 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
github.com/protocolbuffers/protobuf/releases/tag/v25.0
nvd.nist.gov/vuln/detail/CVE-2024-2410
github.com/advisories/GHSA-h86c-v8g6-46f2
docs.bell-sw.com/security/cves/CVE-2024-2410
github.com/CVEProject/cvelistV5/tree/main/cves/2024/2xxx/CVE-2024-2410.json
github.com/protocolbuffers/protobuf
Show 8 moreShow less
suse.com/support/update/announcement/2025/suse-su-202520155-1
bugzilla.suse.com/1223947
suse.com/security/cve/CVE-2024-2410
suse.com/support/update/announcement/2025/suse-su-202520672-1
bugzilla.suse.com/1230778
bugzilla.suse.com/1244663
suse.com/security/cve/CVE-2024-7254
suse.com/security/cve/CVE-2025-4565