CVE-2024-7254

7.5 HIGH

📋 TL;DR

This vulnerability allows attackers to cause a stack overflow by sending malicious Protocol Buffers data with deeply nested groups, potentially crashing applications. It affects any system using Google Protocol Buffers libraries to parse untrusted data. The impact is denial of service through application crashes.

💻 Affected Systems

Products:
  • Google Protocol Buffers (protobuf)
  • Any software using protobuf libraries
Versions: Protocol Buffers versions before the fix commit cc8b3483a5584b3301e3d43d17eb59704857ffaa
Operating Systems: All operating systems
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerable when using DiscardUnknownFieldsParser, Java Protobuf Lite parser, or parsing against Protobuf map fields with untrusted data.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete application crash leading to denial of service, potentially affecting availability of critical services.

🟠

Likely Case

Application crashes or becomes unresponsive when processing malicious Protocol Buffers data, causing service disruption.

🟢

If Mitigated

Limited impact with proper input validation and resource limits in place.

🌐 Internet-Facing: HIGH - Any service accepting Protocol Buffers data from untrusted sources is vulnerable to DoS attacks.
🏢 Internal Only: MEDIUM - Internal services processing Protocol Buffers data could be affected, but attack surface is smaller.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploitation requires sending specially crafted Protocol Buffers data to vulnerable parsers.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Protocol Buffers with commit cc8b3483a5584b3301e3d43d17eb59704857ffaa or later

Vendor Advisory: https://github.com/protocolbuffers/protobuf/commit/cc8b3483a5584b3301e3d43d17eb59704857ffaa

Restart Required: Yes

Instructions:

1. Update Protocol Buffers library to version containing fix commit cc8b3483a5584b3301e3d43d17eb59704857ffaa
2. Rebuild and redeploy applications using the library
3. Restart affected services

🔧 Temporary Workarounds

Input validation and limits

all

Implement depth limits and validation for Protocol Buffers parsing

Network filtering

all

Block or limit Protocol Buffers traffic from untrusted sources

🧯 If You Can't Patch

  • Implement strict input validation to reject deeply nested Protocol Buffers structures
  • Deploy rate limiting and monitoring for Protocol Buffers parsing operations

🔍 How to Verify

Check if Vulnerable:

Check Protocol Buffers library version and verify if it contains commit cc8b3483a5584b3301e3d43d17eb59704857ffaa

Check Version:

Check build/version information of Protocol Buffers library in your application

Verify Fix Applied:

Verify the library version includes the fix commit and test with sample nested Protocol Buffers data

📡 Detection & Monitoring

Log Indicators:

  • Application crashes or stack overflow errors
  • High memory/CPU usage during Protocol Buffers parsing

Network Indicators:

  • Unusually large or complex Protocol Buffers messages
  • Repeated Protocol Buffers requests causing service degradation

SIEM Query:

search for 'stack overflow', 'protobuf', 'parsing error' in application logs

🔗 References

📤 Share & Export