Skip to content

← Actionable
Medium, CVSS 5.7

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
  1. 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…