VYPR
Moderate severityNVD Advisory· Published Oct 12, 2022· Updated Apr 21, 2025

Memory handling vulnerability in ProtocolBuffers Java core and lite

CVE-2022-3171

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 Insight

LLM-synthesized narrative grounded in this CVE's description and references.

A parsing flaw in protobuf-java causes excessive garbage collection pauses, leading to denial of service.

Vulnerability

Overview

CVE-2022-3171 is a denial-of-service (DoS) vulnerability in the protobuf-java core and lite libraries, as well as in Protobuf for Kotlin and JRuby (which depend on the Java runtime) [1][4]. The issue stems from a parsing problem when processing binary or text format data that contains multiple instances of non-repeated embedded messages with repeated or unknown fields. This causes objects to be repeatedly converted between mutable and immutable forms, triggering long garbage collection pauses [1][4].

Exploitation

Conditions

An attacker can exploit this vulnerability by supplying a specially crafted input stream to an application that parses protobuf data using an affected version of the library. No authentication is required, and the attack can be launched remotely over a network if the application accepts untrusted protobuf messages [1]. The parsing process itself is the attack vector; the malicious input does not need to be large in size, as the inefficiency lies in the conversion logic rather than raw data volume [4].

Impact

Successful exploitation results in a denial of service. The prolonged garbage collection pauses can render the application unresponsive or cause it to crash, effectively denying service to legitimate users [1][4]. The CVSS score is 5.7 (Medium), reflecting the potential for significant disruption without requiring high privileges or complex attack steps [4].

Mitigation

The vendor, Google, has released patched versions: protobuf-java 3.21.7, 3.20.3, 3.19.6, and 3.16.3, along with equivalent updates for the lite, Kotlin, and JRuby variants [1][4]. Users must update their dependencies to these versions and regenerate any checked-in generated code, as the fix affects both the runtime and the generated code [4]. No workarounds are mentioned; upgrading is the recommended course of action.

AI Insight generated on May 21, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.

Affected packages

Versions sourced from the GitHub Security Advisory.

PackageAffected versionsPatched versions
com.google.protobuf:protobuf-javaMaven
>= 3.21.0-rc-1, < 3.21.73.21.7
com.google.protobuf:protobuf-kotlinMaven
>= 3.21.0-rc-1, < 3.21.73.21.7
google-protobufRubyGems
>= 3.21.0.rc.1, < 3.21.73.21.7
com.google.protobuf:protobuf-javaliteMaven
>= 3.21.0-rc-1, < 3.21.73.21.7
com.google.protobuf:protobuf-kotlin-liteMaven
>= 3.21.0-rc-1, < 3.21.73.21.7
com.google.protobuf:protobuf-javaMaven
>= 3.20.0-rc-1, < 3.20.33.20.3
com.google.protobuf:protobuf-javaMaven
>= 3.17.0-rc-1, < 3.19.63.19.6
com.google.protobuf:protobuf-javaMaven
< 3.16.33.16.3
com.google.protobuf:protobuf-kotlinMaven
>= 3.20.0-rc-1, < 3.20.33.20.3
com.google.protobuf:protobuf-kotlinMaven
>= 3.17.0-rc-1, < 3.19.63.19.6
com.google.protobuf:protobuf-kotlinMaven
< 3.16.33.16.3
google-protobufRubyGems
>= 3.20.0.rc.1, < 3.20.33.20.3
google-protobufRubyGems
>= 3.17.0.rc.1, < 3.19.63.19.6
google-protobufRubyGems
< 3.16.33.16.3
com.google.protobuf:protobuf-javaliteMaven
>= 3.20.0-rc-1, < 3.20.33.20.3
com.google.protobuf:protobuf-javaliteMaven
>= 3.17.0-rc-1, < 3.19.63.19.6
com.google.protobuf:protobuf-javaliteMaven
< 3.16.33.16.3
com.google.protobuf:protobuf-kotlin-liteMaven
>= 3.20.0-rc-1, < 3.20.33.20.3
com.google.protobuf:protobuf-kotlin-liteMaven
>= 3.17.0-rc-1, < 3.19.63.19.6
com.google.protobuf:protobuf-kotlin-liteMaven
< 3.16.33.16.3

Affected products

390

Patches

0

No patches discovered yet.

Vulnerability mechanics

AI mechanics synthesis has not run for this CVE yet.

References

14

News mentions

0

No linked articles in our index yet.