Skip to main content

CVE-2022-3171: CWE-20 Improper Input Validation in Google LLC Protocolbuffers

Medium
Published: Wed Oct 12 2022 (10/12/2022, 00:00:00 UTC)
Source: CVE
Vendor/Project: Google LLC
Product: Protocolbuffers

Description

A parsing issue with binary data in protobuf-java core and lite versions prior to 3.21.7, 3.20.3, 3.19.6 and 3.16.3 can lead to a denial of service attack. Inputs containing multiple instances of non-repeated embedded messages with repeated or unknown fields causes objects to be converted back-n-forth between mutable and immutable forms, resulting in potentially long garbage collection pauses. We recommend updating to the versions mentioned above.

AI-Powered Analysis

AILast updated: 06/20/2025, 12:05:28 UTC

Technical Analysis

CVE-2022-3171 is a vulnerability identified in the Google Protocol Buffers (protobuf-java) library, specifically affecting core and lite versions prior to 3.21.7, 3.20.3, 3.19.6, and 3.16.3. The issue arises from improper input validation (CWE-20) during the parsing of binary data. When inputs contain multiple instances of non-repeated embedded messages that include repeated or unknown fields, the protobuf library performs repeated conversions between mutable and immutable object forms. This inefficient processing leads to excessive garbage collection (GC) activity, causing potentially long GC pauses. The consequence is a denial of service (DoS) condition where the affected application or service experiences significant performance degradation or becomes unresponsive due to resource exhaustion. This vulnerability does not require authentication or user interaction to be exploited, as it is triggered by specially crafted protobuf binary data sent to the vulnerable system. Although no known exploits are currently reported in the wild, the vulnerability poses a risk to any system using affected protobuf-java versions that process untrusted or malformed protobuf messages. The recommended remediation is to upgrade protobuf-java to the patched versions 3.21.7, 3.20.3, 3.19.6, or 3.16.3, which address the input validation flaw and optimize the handling of embedded messages to prevent excessive GC pauses.

Potential Impact

For European organizations, the impact of CVE-2022-3171 can be significant, particularly for those relying on protobuf-java in backend services, microservices, or communication protocols that handle binary data serialization and deserialization. The vulnerability can lead to denial of service conditions, resulting in service outages, degraded performance, and potential disruption of critical business operations. Industries such as finance, telecommunications, healthcare, and public sector entities that utilize protobuf for internal or external data exchange may face operational risks. Additionally, prolonged service unavailability could affect customer trust and regulatory compliance, especially under stringent European data protection and operational resilience regulations (e.g., GDPR, NIS Directive). While the vulnerability does not directly lead to data breaches or code execution, the DoS impact on availability can have cascading effects on business continuity and incident response capabilities.

Mitigation Recommendations

European organizations should implement the following specific mitigation steps: 1) Conduct an inventory of all applications and services using protobuf-java libraries to identify affected versions. 2) Prioritize upgrading protobuf-java to the fixed versions 3.21.7, 3.20.3, 3.19.6, or 3.16.3 in all development, testing, and production environments. 3) For legacy systems where immediate upgrade is not feasible, implement input validation and filtering at network boundaries or application layers to detect and block malformed or suspicious protobuf messages containing multiple non-repeated embedded messages with repeated or unknown fields. 4) Monitor application performance and garbage collection metrics to detect abnormal GC pauses that may indicate exploitation attempts. 5) Employ rate limiting and anomaly detection on services processing protobuf data to mitigate potential DoS attempts. 6) Engage with software vendors and development teams to ensure protobuf dependencies are regularly updated and security patches are applied promptly. 7) Incorporate protobuf fuzz testing in the development lifecycle to proactively identify similar parsing issues.

Need more detailed analysis?Get Pro

Technical Details

Data Version
5.1
Assigner Short Name
Google
Date Reserved
2022-09-09T00:00:00.000Z
Cisa Enriched
true

Threat ID: 682d984bc4522896dcbf815c

Added to database: 5/21/2025, 9:09:31 AM

Last enriched: 6/20/2025, 12:05:28 PM

Last updated: 8/17/2025, 9:24:37 AM

Views: 15

Actions

PRO

Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.

Please log in to the Console to use AI analysis features.

Need enhanced features?

Contact root@offseq.com for Pro access with improved analysis and higher rate limits.

Latest Threats