WaratekVRT Sign in

CVE-2021-22569 google protobuf-java

Affected softwaregoogle protobuf-java
Severity7.5 High CVSS 3.1 3 scores
Fixed in3.16.1, 3.18.2, 3.19.2
WeaknessCWE-696
Published10 Jan 2022
Updated17 Jun 2026

Description

An issue in protobuf-java allowed the interleaving of com.google.protobuf.UnknownFieldSet fields in such a way that would be processed out of order. A small malicious payload can occupy the parser for several minutes by creating large numbers of short-lived objects that cause frequent, repeated pauses. We recommend upgrading libraries beyond the vulnerable versions.

Exploitation status

Proof of concept only

A proof of concept exists, but no reviewed exploit catalogue lists this CVE.

  • CISA KEV not listed
  • VulnCheck KEV not listed
  • CISA Vulnrichment exploitation: poc CISA recorded that an exploit has been demonstrated. Automatable: yes, technical impact: partial.
  • Indexed PoC 1 indexed, none at 5+ stars
  • EPSS 1.8% chance in 30 days

1 of these are GitHub repositories with fewer than 5 stars. They are listed for reference and don't count toward the exploitation status above.

IndexArtifactStarsFirst seen
GitHub PoC A potential Denial of Service issue in protobuf-java high severity GitHub Reviewed Published 5 days ago in protocolbuffers/protobuf • Updated yesterday Vulnerability details Dependabot alerts 2 Package com.google.protobuf:protobuf-java (maven) Affected versions < 3.16.1 >= 3.18.0, < 3.18.2 >= 3.19.0, < 3.19.2 Patched versions 3.16.1 3.18.2 3.19.2 Package com.google.protobuf:protobuf-kotlin (maven) Affected versions >= 3.18.0, < 3.18.2 >= 3.19.0, < 3.19.2 Patched versions 3.18.2 3.19.2 Package google-protobuf (RubyGems) Affected versions < 3.19.2 Patched versions 3.19.2 Description Summary A potential Denial of Service issue in protobuf-java was discovered in the parsing procedure for binary data. Reporter: OSS-Fuzz Affected versions: All versions of Java Protobufs (including Kotlin and JRuby) prior to the versions listed below. Protobuf "javalite" users (typically Android) are not affected. Severity CVE-2021-22569 High - CVSS Score: 7.5, An implementation weakness in how unknown fields are parsed in Java. A small (~800 KB) malicious payload can occupy the parser for several minutes by creating large numbers of short-lived objects that cause frequent, repeated GC pauses. Proof of Concept For reproduction details, please refer to the oss-fuzz issue that identifies the specific inputs that exercise this parsing weakness. Remediation and Mitigation Please update to the latest available versions of the following packages: protobuf-java (3.16.1, 3.18.2, 3.19.2) protobuf-kotlin (3.18.2, 3.19.2) google-protobuf [JRuby gem only] (3.19.2) References GHSA-wrvw-hg22-4m67 https://nvd.nist.gov/vuln/detail/CVE-2021-22569 https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=39330 https://cloud.google.com/support/bulletins#gcp-2022-001 2022-01-13

Waratek protection

No exploit published

Within Waratek scope. In the sources we check, nobody has published exploit code for this CVE or reported it being exploited.

A public code fix exists.

  • Protection none
  • Action unverified
  • Review automated Upstream data
  • Record active
Decided by Exploit code for this candidate, published in a reviewed catalogue or a GitHub repository with 5 or more stars, or in use per CISA or VulnCheck; not only a CISA verdict, a forecast, or nothing at all
Finding This CVE is not listed in CISA KEV or VulnCheck KEV, CISA Vulnrichment records no active exploitation, no reviewed exploit catalogue carries an entry for it, and no GitHub PoC repository for it has 5 or more stars. Nobody has published exploit code worth tracing, so it is not a candidate for a rule ahead of the ones where somebody has; an upstream fix path does exist, so the remediation half of the candidacy still holds. This is a statement about what has been published, not about whether the defect is reachable or serious.

CVSS

7.5 HIGH v3.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H 3 metrics

We show the highest score from the newest CVSS version. Scores from different versions can't be compared, and the first score listed is sometimes a 0.0 placeholder.

VersionScoreBandVectorAssignerType
CVSS 3.1 7.5 HIGH CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H cve-coordination@google.com Secondary published
CVSS 3.1 5.5 MEDIUM CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H NVD Primary
CVSS 2.0 4.3 none AV:N/AC:M/Au:N/C:N/I:N/A:P NVD Primary

Affected software and releases

Oracle advisories

AdvisoryTypeQuarterProducts Oracle names in its risk matrix
Oracle Critical Patch Update July 2023 ↗ CPU 2023-Q3 Oracle Communications Applications / Security (Google Protobuf-Java) (7.4.0-7.4.2, 7.5.0)
Oracle Critical Patch Update April 2023 ↗ CPU 2023-Q2 Oracle Fusion Middleware / Third Party (Google Protobuf-Java) (12.2.1.4.0, 14.1.1.0.0)
Oracle Critical Patch Update April 2022 ↗ CPU 2022-Q2 Oracle Communications / CNC Console (protobuf-java) (1.9.0)
Oracle Communications / OCNRF (protobuf-java) (1.15.0, 1.15.1)
Oracle Communications / Policy (protobuf-java) (1.15.0)
Oracle Database Server / Oracle Spatial and Graph MapViewer (protobuf-java) (19c, 21c)

Oracle components and versions

FamilyComponentVersions, as Oracle lists themRead as
Oracle Communications CNC Console (protobuf-java) 1.9.0 1.9.0
Oracle Communications OCNRF (protobuf-java) 1.15.0, 1.15.1 1.15.0 · 1.15.1
Oracle Communications Policy (protobuf-java) 1.15.0 1.15.0
Oracle Communications Applications Security (Google Protobuf-Java) 7.4.0-7.4.2, 7.5.0 7.5.0
Oracle Database Server Oracle Spatial and Graph MapViewer (protobuf-java) 19c, 21c 19 · 21
Oracle Fusion Middleware Third Party (Google Protobuf-Java) 12.2.1.4.0, 14.1.1.0.0 12.2.1.4.0 · 14.1.1.0.0

Maven packages

Affected and fixed versions, from OSV.dev
PackageIntroducedFixedLast affected
com.google.protobuf:protobuf-java 0 3.16.1 unbounded
com.google.protobuf:protobuf-java 3.18.0 3.18.2 unbounded
com.google.protobuf:protobuf-java 3.19.0 3.19.2 unbounded
com.google.protobuf:protobuf-kotlin 3.18.0 3.18.2 unbounded
com.google.protobuf:protobuf-kotlin 3.19.0 3.19.2 unbounded

Products and versions

9 products, 17 version entries
SourceVendorProductSchemeAffected versions
osv com.google.protobuf protobuf-java generic < 3.16.1 · ≥ 3.18.0 and < 3.18.2 · ≥ 3.19.0 and < 3.19.2
osv com.google.protobuf protobuf-kotlin generic ≥ 3.18.0 and < 3.18.2 · ≥ 3.19.0 and < 3.19.2
nvd google google-protobuf generic < 3.19.2
nvd google protobuf-java generic < 3.16.1 · ≥ 3.18.0 and < 3.18.2 · ≥ 3.19.0 and < 3.19.2
nvd google protobuf-kotlin generic < 3.18.2 · ≥ 3.19.0 and < 3.19.2
nvd oracle communications cloud native core console generic 1.9.0
nvd oracle communications cloud native core network repository function generic 1.15.0 · 1.15.1
nvd oracle communications cloud native core policy generic 1.15.0
nvd oracle spatial and graph mapviewer generic 19c · 21c

References

URLTags
https://github.com/protocolbuffers/protobuf/security/advisories/GHSA-wrvw-hg22-4m67 WEB
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=39330 WEB
https://cloud.google.com/support/bulletins#gcp-2022-001 WEB
https://github.com/protocolbuffers/protobuf PACKAGE
https://www.oracle.com/security-alerts/cpuapr2022.html WEB
http://www.openwall.com/lists/oss-security/2022/01/12/4 WEB
http://www.openwall.com/lists/oss-security/2022/01/12/7 WEB
https://lists.debian.org/debian-lts-announce/2023/04/msg00019.html

Timeline

Published2022-01-10By the CVE Program.
NVD record modified2026-06-17NVD's own last-modified date for this record.