protobuf-java has a potential Denial of Service issue
CVE-2022-3171GHSA-h4h5-3hr4-j3g2
What to do
Vendor fix available. Upgrade each affected package to the fixed version on its release line (com.google.protobuf:protobuf-kotlin 3.21.7, 3.20.3, 3.19.6, 3.16.3; com.google.protobuf:protobuf-java 3.21.7, 3.20.3, 3.19.6, 3.16.3; com.google.protobuf:protobuf-javalite 3.21.7, 3.20.3, 3.19.6, 3.16.3; google-protobuf 3.21.7, 3.20.3, 3.19.6, 3.16.3; com.google.protobuf:protobuf-kotlin-lite 3.21.7, 3.20.3, 3.19.6, 3.16.3), redeploy, then verify what is actually installed.
This page has no inventory attached, so it cannot say whether you are affected. A vendor fix is not proof that your deployment is fixed.
Affected packages
Maven com.google.protobuf:protobuf-kotlin
- Affected
- >= 3.21.0-rc-1, < 3.21.7>= 3.20.0-rc-1, < 3.20.3>= 3.17.0-rc-1, < 3.19.6< 3.16.3
- Fixed in
- 3.21.7, 3.16.3, 3.19.6, 3.20.3
Maven com.google.protobuf:protobuf-java
- Affected
- >= 3.21.0-rc-1, < 3.21.7>= 3.20.0-rc-1, < 3.20.3>= 3.17.0-rc-1, < 3.19.6< 3.16.3
- Fixed in
- 3.21.7, 3.16.3, 3.19.6, 3.20.3
Maven com.google.protobuf:protobuf-javalite
- Affected
- >= 3.21.0-rc-1, < 3.21.7>= 3.20.0-rc-1, < 3.20.3>= 3.17.0-rc-1, < 3.19.6< 3.16.3
- Fixed in
- 3.21.7, 3.16.3, 3.19.6, 3.20.3
RubyGems google-protobuf
- Affected
- >= 3.21.0.rc.1, < 3.21.7>= 3.20.0.rc.1, < 3.20.3>= 3.17.0.rc.1, < 3.19.6< 3.16.3
- Fixed in
- 3.21.7, 3.16.3, 3.19.6, 3.20.3
Maven com.google.protobuf:protobuf-kotlin-lite
- Affected
- >= 3.21.0-rc-1, < 3.21.7>= 3.20.0-rc-1, < 3.20.3>= 3.17.0-rc-1, < 3.19.6< 3.16.3
- Fixed in
- 3.21.7, 3.16.3, 3.19.6, 3.20.3
Sources
- GitHub Advisory Database and maintainer security advisories on GitHub
GitHub-reviewed advisory GHSA-h4h5-3hr4-j3g2 lists affected ranges: Maven com.google.protobuf:protobuf-java >=3.21.0-rc-1 =3.20.0-rc-1 =3.17.0-rc-1 =0 =3.21.0-rc-1 =3.20.0-rc-1 =3.17.0-rc-1 =0 =3.21.0.rc.1 =3.20.0.rc.1 =3.17.0.rc.1 =0 =3.21.0-rc-1 <3.21.7,…
VerifiedObserved Structured GitHub Advisory Database record (type=reviewed) from the GitHub REST API.
Severity and exploitation
- Exploitation
- No confirmed exploitation recorded. Patch Next marks exploitation only from CISA KEV.
- CVSS
- 5.7 · CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
- EPSS
- CVE-2022-3171: 1.28% estimated exploitation activity in the next 30 days; percentile 70.02 (FIRST EPSS, 2026-11-03). This is a model estimate, not proof of exploitation or customer exposure.
Source description
As published by the source; long descriptions are shortened.
Summary A potential Denial of Service issue in protobuf-java core and lite was discovered in the parsing procedure for binary and text format data. Input streams 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. Reporter: OSS Fuzz Affected versions: This issue affects both the Java full and lite Protobuf runtimes, as well as Protobuf for Kotlin and JRuby, which themselves use the Java Protobuf runtime. Severity CVE-2022-3171 Medium - CVSS Score: 5.7 (NOTE: there may be a delay in publication) Remediation and Mitigation Please update to the latest available versions of the following packages: protobuf-java (3.21.7, 3.20.3, 3.19.6, 3.16.3) protobuf-javalite (3.21.7, 3.20.3, 3.19.6, 3.16.3) protobuf-kotlin (3.21.7, 3.20.3, 3.19.6, 3.16.3) protobuf-kotlin-lite (3.21.7, 3.20.3, 3.19.6, 3.16.3)…
Dates and revisions
- Published by the source
- Last modified by the source
- Source last checked
- Revision 1 · created ·
Published from ghsa record GHSA-h4h5-3hr4-j3g2
Agent brief
Preview the exact text before you copy it. Commands are read-only suggestions; review them before running anything.
# Patch Next advisory brief: CVE-2022-3171 Advisory: protobuf-java has a potential Denial of Service issue IDs: CVE-2022-3171, GHSA-h4h5-3hr4-j3g2 Record: https://patchnext.com/advisories/cve-2022-3171 (revision 1, source checked 26 Oct 2026, 15:44 UTC) Inventory: none attached. This brief comes from a public page and does not say whether any deployment is affected. Severity: Medium (CVSS 5.7) Exploitation: no confirmed exploitation recorded. Patch Next confirms exploitation only from CISA KEV. Vendor response: Vendor fix available; fixed versions by package: com.google.protobuf:protobuf-kotlin 3.21.7, 3.20.3, 3.19.6, 3.16.3; com.google.protobuf:protobuf-java 3.21.7, 3.20.3, 3.19.6, 3.16.3; com.google.protobuf:protobuf-javalite 3.21.7, 3.20.3, 3.19.6, 3.16.3; google-protobuf 3.21.7, 3.20.3, 3.19.6, 3.16.3; com.google.protobuf:protobuf-kotlin-lite 3.21.7, 3.20.3, 3.19.6, 3.16.3. A vendor fix does not mean a deployment is fixed. ## Affected components - Maven com.google.protobuf:protobuf-kotlin: affected >= 3.21.0-rc-1, < 3.21.7; >= 3.20.0-rc-1, < 3.20.3; >= 3.17.0-rc-1, < 3.19.6; < 3.16.3; fixed in 3.21.7, 3.16.3, 3.19.6, 3.20.3 - Maven com.google.protobuf:protobuf-java: affected >= 3.21.0-rc-1, < 3.21.7; >= 3.20.0-rc-1, < 3.20.3; >= 3.17.0-rc-1, < 3.19.6; < 3.16.3; fixed in 3.21.7, 3.16.3, 3.19.6, 3.20.3 - Maven com.google.protobuf:protobuf-javalite: affected >= 3.21.0-rc-1, < 3.21.7; >= 3.20.0-rc-1, < 3.20.3; >= 3.17.0-rc-1, < 3.19.6; < 3.16.3; fixed in 3.21.7, 3.16.3, 3.19.6, 3.20.3 - RubyGems google-protobuf: affected >= 3.21.0.rc.1, < 3.21.7; >= 3.20.0.rc.1, < 3.20.3; >= 3.17.0.rc.1, < 3.19.6; < 3.16.3; fixed in 3.21.7, 3.16.3, 3.19.6, 3.20.3 - Maven com.google.protobuf:protobuf-kotlin-lite: affected >= 3.21.0-rc-1, < 3.21.7; >= 3.20.0-rc-1, < 3.20.3; >= 3.17.0-rc-1, < 3.19.6; < 3.16.3; fixed in 3.21.7, 3.16.3, 3.19.6, 3.20.3 ## Suggested inspection (read-only) - Maven com.google.protobuf:protobuf-kotlin: check the installed version with your package manager. - Maven com.google.protobuf:protobuf-java: check the installed version with your package manager. - Maven com.google.protobuf:protobuf-javalite: check the installed version with your package manager. - RubyGems google-protobuf: check the installed version with your package manager. - Maven com.google.protobuf:protobuf-kotlin-lite: check the installed version with your package manager. ## Supported action Upgrade each affected component to a fixed version on its release line. For a transitive dependency, upgrade the parent package or add an override or constraint, then regenerate the lockfile. Redeploy every environment that ran an affected version. ## Required regression checks - Run the test suite and a production build. - Exercise the features that depend on com.google.protobuf:protobuf-kotlin, com.google.protobuf:protobuf-java, com.google.protobuf:protobuf-javalite, google-protobuf, com.google.protobuf:protobuf-kotlin-lite. - Repeat the inspection and confirm that only fixed versions remain installed. ## Rollback considerations - Keep the previous lockfile and deployment artifact. Rolling back reinstates the vulnerable version, so apply any documented mitigation while you fix forward. ## Unresolved questions - Which deployments run an affected version? - Exploitation status can change. Check again before lowering the priority. - Mark the work resolved only after the fixed version is verified in production. ## Sources - Verified: https://github.com/advisories/GHSA-h4h5-3hr4-j3g2 (GitHub-reviewed advisory GHSA-h4h5-3hr4-j3g2 lists affected ranges: Maven com.google.protobuf:protobuf-java >=3.21.0-rc-1 =3.20.0-rc-1 =3.17.0-rc-1 =0 =3.21.0-rc-1 =3.20.0-rc-1 =3.17.0-rc-1 =0 =3.21.0.rc.1 =3.20.0.rc.1 =3.17.0.rc.1 =0 =3.21.0-rc-1 <3.21.7,…) Commands are suggestions: review each one before running it.
Loading voting…