CVE-2015-5237
High · 8.8CVSS
8.8
EPSS
5.0%
Published
Sep 25, 2017
CISA due date
—
Cloudanix analysis
A flaw in a common data handling library lets attackers who already have login access send bad data that can crash programs or take them over.
- Exploitation
- Remote Authenticated
- Attacker needs
- Low Privilege
- Complexity
- Low
- Impact
- Full Compromise
- Component
- Library
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Heap-based buffer overflow triggered during protobuf message deserialization by remote authenticated attackers.
Why it matters to the business
Systems relying on protobuf for network data handling face elevated risk of remote code execution or service crashes, potentially disrupting operations in any environment using the library; the vulnerability is nearly a decade old with no known exploitation campaigns or high exploit availability.
How an attack unfolds
An attacker with valid credentials crafts a malicious protobuf message containing oversized or malformed fields, sends it over the network to a service that parses it with the vulnerable library, and triggers the overflow to corrupt memory and achieve code execution or denial of service.
How to fix it
Upgrade google protobuf to a version that resolves the heap buffer overflow; if no fixed version is available in your dependency tree, replace protobuf usage with a maintained alternative or apply vendor-supplied patches where provided.
How to confirm the fix worked
Inventory all applications and services for the version of protobuf in use, verify that the library is upgraded beyond the vulnerable release, and retest deserialization paths with known-good and boundary-case messages.
Typical attack path
- Obtain valid authentication credentials for the target service
- Construct a specially crafted protobuf payload that exceeds expected buffer sizes
- Transmit the payload to an endpoint that invokes protobuf deserialization
- Trigger the heap overflow to overwrite memory structures and gain control or crash the process
How to detect it
Review application and service logs for protobuf parsing failures, unexpected memory allocation errors, or crashes around deserialization routines; examine network captures for repeated or anomalous protobuf messages from authenticated sessions.
What your security team should do
- Prioritize inventory of protobuf usage across all codebases and containers
- Block or monitor inbound protobuf traffic from untrusted sources until upgrades are complete
- Schedule library upgrades as part of regular dependency maintenance given the age of the flaw
The record
protobuf allows remote authenticated attackers to cause a heap-based buffer overflow.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Go | github.com/protocolbuffers/protobuf | 0 | 3.4.0 |
| Maven | com.google.protobuf:protobuf-parent | 0 | 3.4.0 |
| NuGet | Google.Protobuf | 0 | 3.4.0 |
| Packagist | google/protobuf | 0 | 3.4.0 |
| PyPI | protobuf | 0 | 3.4.0 |
| Debian:10 | protobuf | 0 | No fix |
| Debian:11 | protobuf | 0 | No fix |
| Debian:12 | protobuf | 0 | No fix |
| Debian:13 | protobuf | 0 | No fix |
| Ubuntu:20.04:LTS | protobuf | 0 | 3.6.1.3-2ubuntu5 |
| Ubuntu:22.04:LTS | protobuf | 0 | 3.12.4-1ubuntu5 |
| Ubuntu:Pro:14.04:LTS | protobuf | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | protobuf | 0 | 2.6.1-1.3ubuntu0.1~esm2 |
| Ubuntu:Pro:18.04:LTS | protobuf | 0 | No fix |
Related vulnerabilities
- CVE-2021-22570 Nullptr dereference when a null char is present in a proto symbol. Also affects github.com/protocolbuffers/protobuf
- CVE-2026-0994 A denial-of-service (DoS) vulnerability exists in google.protobuf.json_format.ParseDict()… Also affects protobuf
- CVE-2025-4565 protobuf-python has a potential Denial of Service issue Also affects protobuf
- CVE-2021-22569 An issue in protobuf-java allowed the interleaving of com.google.protobuf.UnknownFieldSet… Also affects protobuf
- CVE-2022-3510 A parsing issue similar to CVE-2022-3171, but with Message-Type Extensions in… Also affects protobuf
- CVE-2022-3509 A parsing issue similar to CVE-2022-3171, but with textformat in protobuf-java core and… Also affects protobuf
- CVE-2022-3171 A parsing issue with binary data in protobuf-java core and lite versions prior to 3.21.7… Also affects protobuf
- CVE-2026-111497 A buffer overflow vulnerability in the Brotli decoder (c/dec/decode.c) in Google Brotli… CWE-787