Vulnerability · Published Sep 19, 2024 · Assigned by Google
CVE-2024-7254Stack overflow in Protocol Buffers Java Lite
High 8.7
In plain English
A high-severity uncontrolled resource consumption in google-protobuf [JRuby Gem] from Google. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 2.8% (higher than 86% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
Any project that parses untrusted Protocol Buffers data containing an arbitrary number of nested groups / series of SGROUP tags can corrupted by exceeding the stack limit i.e. StackOverflow. Parsing nested groups as unknown fields with DiscardUnknownFieldsParser or Java Protobuf Lite parser, or against Protobuf map fields, creates unbounded recursions that can be abused by an attacker.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian:12 | protobuf | 3.21.12-3+deb12u1 | DEBIAN-CVE-2024-7254 |
| Debian:13 | protobuf | 3.21.12-11+deb13u1 | DEBIAN-CVE-2024-7254 |
| Debian:14 | protobuf | 3.21.12-12 | DEBIAN-CVE-2024-7254 |
| Maven | com.google.protobuf:protobuf-java | 4.28.2 | GHSA-735f-pc8j-v9w8 |
| Maven | com.google.protobuf:protobuf-java | 3.25.5 | GHSA-735f-pc8j-v9w8 |
| Maven | com.google.protobuf:protobuf-java | 4.27.5 | GHSA-735f-pc8j-v9w8 |
| Maven | com.google.protobuf:protobuf-javalite | 4.27.5 | GHSA-735f-pc8j-v9w8 |
| Maven | com.google.protobuf:protobuf-javalite | 3.25.5 | GHSA-735f-pc8j-v9w8 |
| Maven | com.google.protobuf:protobuf-javalite | 4.28.2 | GHSA-735f-pc8j-v9w8 |
| Maven | com.google.protobuf:protobuf-kotlin | 3.25.5 | GHSA-735f-pc8j-v9w8 |
| Maven | com.google.protobuf:protobuf-kotlin | 4.27.5 | GHSA-735f-pc8j-v9w8 |
| Maven | com.google.protobuf:protobuf-kotlin | 4.28.2 | GHSA-735f-pc8j-v9w8 |
| Maven | com.google.protobuf:protobuf-kotlin-lite | 4.28.2 | GHSA-735f-pc8j-v9w8 |
| Maven | com.google.protobuf:protobuf-kotlin-lite | 3.25.5 | GHSA-735f-pc8j-v9w8 |
| Maven | com.google.protobuf:protobuf-kotlin-lite | 4.27.5 | GHSA-735f-pc8j-v9w8 |
| RubyGems | google-protobuf | 3.25.5 | GHSA-735f-pc8j-v9w8 |
| RubyGems | google-protobuf | 4.27.5 | GHSA-735f-pc8j-v9w8 |
| RubyGems | google-protobuf | 4.28.2 | GHSA-735f-pc8j-v9w8 |
| Ubuntu:22.04:LTS | protobuf | 3.12.4-1ubuntu7.22.04.2 | USN-7435-1 |
| Ubuntu:22.04:LTS | protobuf | 3.12.4-1ubuntu7.22.04.4 | USN-7629-1 |
| Ubuntu:22.04:LTS | protobuf | 3.12.4-1ubuntu7.22.04.2 | UBUNTU-CVE-2024-7254 |
| Ubuntu:24.04:LTS | protobuf | 3.21.12-8.2ubuntu0.1 | USN-7435-1 |
| Ubuntu:24.04:LTS | protobuf | 3.21.12-8.2ubuntu0.1 | UBUNTU-CVE-2024-7254 |
| Ubuntu:24.04:LTS | protobuf | 3.21.12-8.2ubuntu0.2 | USN-7629-1 |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| Protocol Buffers | 0 – before 28.2 | |
| protobuf-java | 0 – before 3.25.50 – before 4.27.50 – before 4.28.2 | |
| protobuf-javalite | 0 – before 3.25.50 – before 4.27.50 – before 4.28.2 | |
| protobuf-kotlin | 0 – before 3.25.50 – before 4.27.50 – before 4.28.2 | |
| protobuf-kotllin-lite | 0 – before 3.25.50 – before 4.27.50 – before 4.28.2 | |
| google-protobuf [JRuby Gem] | 0 – before 3.25.50 – before 4.27.50 – before 4.28.2 |
Weakness: CWE-400, CWE-674 · Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N