Cloudanix VulnDB

CVE-2021-22569

Medium · 5.5

CVSS

5.5

EPSS

1.7%

Published

Jan 10, 2022

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A data-handling library used by many programs can be tricked by a tiny malicious file into freezing for minutes, making the affected software temporarily unusable.

Exploit Available
Exploitation
Requires User Interaction
Attacker needs
User Interaction
Complexity
Low
Impact
Denial Of Service
Component
Library
Class
Denial of service
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Maliciously interleaved com.google.protobuf.UnknownFieldSet entries in protobuf messages trigger excessive short-lived object allocation during parsing, causing repeated GC pauses that occupy the parser thread for minutes.

Why it matters to the business

Services relying on the affected protobuf library can be rendered unresponsive for extended periods by a single small input, leading to degraded availability and potential service outages.

How an attack unfolds

An attacker crafts a compact protobuf payload containing interleaved UnknownFieldSet fields and supplies it to any application that parses untrusted protobuf data with the vulnerable library, forcing prolonged CPU-bound object churn.

How to fix it

Upgrade protocolbuffers/protobuf to commit cb46755e6405e083b45481f5ea4754b180705529 or later; for emacs on Debian 10 upgrade to package version 1:26.1+1-3.2+deb10u4 or newer. Rebuild and redeploy all dependent artifacts after the library update.

How to confirm the fix worked

Verify the protobuf-java or protobuf dependency version matches or exceeds the listed fixed versions; replay a known malicious interleaved UnknownFieldSet payload in a test harness and confirm parsing completes within seconds rather than minutes.

Typical attack path

  1. Locate an application or service that accepts protobuf input using a vulnerable protobuf-java version
  2. Generate a minimal protobuf message embedding many interleaved UnknownFieldSet fields
  3. Deliver the payload through any accepted input channel (file, network, API)
  4. Trigger parsing, causing sustained high CPU and memory churn that blocks the thread for minutes

How to detect it

Review application logs and performance metrics for protobuf parse operations that exceed normal duration thresholds; correlate with sudden spikes in short-lived object allocations or GC pause times on hosts running vulnerable library versions.

What your security team should do

  • Immediately inventory all Java and native applications that depend on protobuf-java or the protobuf C++ core
  • Prioritize upgrade of any internet-facing or multi-tenant services to the fixed commits or Debian packages
  • Add protobuf version checks to CI/CD pipelines and dependency scanners
  • Monitor for unusually long protobuf parse times or elevated GC activity as a temporary compensating control

The record

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.

Affected packages

Ecosystem Package Introduced Fixed
Maven com.google.protobuf:protobuf-java 0 3.16.1
Maven com.google.protobuf:protobuf-java 3.18.0 3.18.2
Maven com.google.protobuf:protobuf-java 3.19.0 3.19.2
Maven com.google.protobuf:protobuf-kotlin 3.18.0 3.18.2
Maven com.google.protobuf:protobuf-kotlin 3.19.0 3.19.2
RubyGems google-protobuf 0 3.19.2
Chainguard apache-nifi 0 1.26.0-r2
Chainguard apache-nifi 0 2.6.0-r2
Chainguard apache-nifi-compat 0 2.6.0-r2
Chainguard apache-nifi-toolkit 0 2.6.0-r2
Chainguard dotty 0 3.4.0-r0
Chainguard druid-compat 0 34.0.0-r6
Chainguard hadoop-client-modules 0 3.3.6-r8
Chainguard spark-3.5 0 3.5.7-r2
Chainguard spark-3.5-scala-2.12-compat 0 3.5.7-r2
Chainguard spark-3.5-scala-2.12-iamguarded-compat 0 3.5.7-r2
Chainguard spark-3.5-scala-2.13-compat 0 3.5.7-r2
Chainguard spark-3.5.0-compat 0 0
Chainguard spark-fips-3.5 0 3.5.4-r17
Chainguard spark-fips-3.5-scala-2.12-compat 0 3.5.4-r17
Chainguard spark-fips-3.5-scala-2.13-compat 0 3.5.4-r17
Chainguard trino 0 439-r0
Chainguard trino-config 0 439-r0
Chainguard trino-oci-entrypoint 0 439-r0
Chainguard trino-plugin-accumulo 0 439-r0
Chainguard trino-plugin-ai-functions 0 439-r0
Chainguard trino-plugin-atop 0 439-r0
Chainguard trino-plugin-bigquery 0 439-r0
Chainguard trino-plugin-blackhole 0 439-r0
Chainguard trino-plugin-cassandra 0 439-r0
Chainguard trino-plugin-clickhouse 0 439-r0
Chainguard trino-plugin-delta-lake 0 439-r0
Chainguard trino-plugin-druid 0 439-r0
Chainguard trino-plugin-duckdb 0 439-r0
Chainguard trino-plugin-elasticsearch 0 439-r0
Chainguard trino-plugin-example-http 0 439-r0
Chainguard trino-plugin-exasol 0 439-r0
Chainguard trino-plugin-exchange-filesystem 0 439-r0
Chainguard trino-plugin-exchange-hdfs 0 439-r0
Chainguard trino-plugin-faker 0 439-r0
Chainguard trino-plugin-functions-python 0 439-r0
Chainguard trino-plugin-geospatial 0 439-r0
Chainguard trino-plugin-google-sheets 0 439-r0
Chainguard trino-plugin-hive 0 439-r0
Chainguard trino-plugin-http-event-listener 0 439-r0
Chainguard trino-plugin-http-server-event-listener 0 439-r0
Chainguard trino-plugin-hudi 0 439-r0
Chainguard trino-plugin-iceberg 0 439-r0
Chainguard trino-plugin-ignite 0 439-r0
Chainguard trino-plugin-jmx 0 439-r0
Chainguard trino-plugin-kafka 0 439-r0
Chainguard trino-plugin-kafka-event-listener 0 439-r0
Chainguard trino-plugin-kinesis 0 439-r0
Chainguard trino-plugin-kudu 0 439-r0
Chainguard trino-plugin-lakehouse 0 439-r0
Chainguard trino-plugin-ldap-group-provider 0 439-r0
Chainguard trino-plugin-local-file 0 439-r0
Chainguard trino-plugin-loki 0 439-r0
Chainguard trino-plugin-mariadb 0 439-r0
Chainguard trino-plugin-memory 0 439-r0
Chainguard trino-plugin-ml 0 439-r0
Chainguard trino-plugin-mongodb 0 439-r0
Chainguard trino-plugin-mysql 0 439-r0
Chainguard trino-plugin-mysql-event-listener 0 439-r0
Chainguard trino-plugin-opa 0 439-r0
Chainguard trino-plugin-openlineage 0 439-r0
Chainguard trino-plugin-opensearch 0 439-r0
Chainguard trino-plugin-oracle 0 439-r0
Chainguard trino-plugin-password-authenticators 0 439-r0
Chainguard trino-plugin-phoenix5 0 439-r0
Chainguard trino-plugin-pinot 0 439-r0
Chainguard trino-plugin-postgresql 0 439-r0
Chainguard trino-plugin-prometheus 0 439-r0
Chainguard trino-plugin-ranger 0 439-r0
Chainguard trino-plugin-raptor-legacy 0 439-r0
Chainguard trino-plugin-redis 0 439-r0
Chainguard trino-plugin-redshift 0 439-r0
Chainguard trino-plugin-resource-group-managers 0 439-r0
Chainguard trino-plugin-session-property-managers 0 439-r0
Chainguard trino-plugin-singlestore 0 439-r0
Chainguard trino-plugin-snowflake 0 439-r0
Chainguard trino-plugin-spooling-filesystem 0 439-r0
Chainguard trino-plugin-sqlserver 0 439-r0
Chainguard trino-plugin-teradata-functions 0 439-r0
Chainguard trino-plugin-thrift 0 439-r0
Chainguard trino-plugin-tpcds 0 439-r0
Chainguard trino-plugin-tpch 0 439-r0
Chainguard trino-plugin-vertica 0 439-r0
Debian:10 protobuf 0 3.6.1.3-2+deb10u1
Debian:11 protobuf 0 3.12.4-1+deb11u1
Debian:12 protobuf 0 3.21.9-3
Debian:13 protobuf 0 3.21.9-3
SUSE:Enterprise Storage 7 protobuf 0 3.9.2-150200.4.19.2
SUSE:Enterprise Storage 7 python-Automat 0 0.6.0-150000.3.4.1
SUSE:Enterprise Storage 7 python-constantly 0 15.1.0-150000.3.4.1
SUSE:Enterprise Storage 7 python-hyperlink 0 17.2.1-150000.3.4.1
SUSE:Enterprise Storage 7 python-incremental 0 17.5.0-150000.3.4.1
SUSE:Enterprise Storage 7 python-psutil 0 5.9.1-150100.6.6.3
SUSE:Enterprise Storage 7 python-requests 0 2.25.1-150100.6.13.3
SUSE:Enterprise Storage 7 python-websocket-client 0 1.3.2-150100.6.7.3
SUSE:Enterprise Storage 7 python-zope.interface 0 4.4.2-150000.3.4.1
SUSE:Enterprise Storage 7.1 python-Automat 0 0.6.0-150000.3.4.1
SUSE:Enterprise Storage 7.1 python-constantly 0 15.1.0-150000.3.4.1
SUSE:Enterprise Storage 7.1 python-hyperlink 0 17.2.1-150000.3.4.1
SUSE:Enterprise Storage 7.1 python-incremental 0 17.5.0-150000.3.4.1
SUSE:Enterprise Storage 7.1 python-websocket-client 0 1.3.2-150100.6.7.3
SUSE:Enterprise Storage 7.1 python-zope.interface 0 4.4.2-150000.3.4.1
SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS protobuf 0 3.9.2-150100.8.3.3
SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS python-cryptography 0 3.3.2-150100.7.15.3
SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS python-psutil 0 5.9.1-150100.6.6.3
SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS python-requests 0 2.25.1-150100.6.13.3
SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS python-websocket-client 0 1.3.2-150100.6.7.3
SUSE:Linux Enterprise High Performance Computing 15 SP2-ESPOS protobuf 0 3.9.2-150200.4.19.2
SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS protobuf 0 3.9.2-150200.4.19.2
SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS python-Automat 0 0.6.0-150000.3.4.1
SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS python-constantly 0 15.1.0-150000.3.4.1
SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS python-hyperlink 0 17.2.1-150000.3.4.1
SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS python-incremental 0 17.5.0-150000.3.4.1
SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS python-psutil 0 5.9.1-150100.6.6.3
SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS python-requests 0 2.25.1-150100.6.13.3
SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS python-websocket-client 0 1.3.2-150100.6.7.3
SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS python-zope.interface 0 4.4.2-150000.3.4.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS python-Automat 0 0.6.0-150000.3.4.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS python-constantly 0 15.1.0-150000.3.4.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS python-hyperlink 0 17.2.1-150000.3.4.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS python-incremental 0 17.5.0-150000.3.4.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS python-websocket-client 0 1.3.2-150100.6.7.3
SUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS python-zope.interface 0 4.4.2-150000.3.4.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS python-Automat 0 0.6.0-150000.3.4.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS python-constantly 0 15.1.0-150000.3.4.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS python-hyperlink 0 17.2.1-150000.3.4.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS python-incremental 0 17.5.0-150000.3.4.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS python-websocket-client 0 1.3.2-150100.6.7.3
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS python-zope.interface 0 4.4.2-150000.3.4.1
SUSE:Linux Enterprise Installer Updates 15 SP1 protobuf 0 3.9.2-150100.8.3.3
SUSE:Linux Enterprise Installer Updates 15 SP2 protobuf 0 3.9.2-150200.4.19.2
SUSE:Linux Enterprise Micro 5.1 protobuf 0 3.9.2-150200.4.19.2
SUSE:Linux Enterprise Micro 5.2 protobuf 0 3.9.2-150200.4.19.2
SUSE:Linux Enterprise Micro 5.3 protobuf 0 3.9.2-150200.4.19.2
SUSE:Linux Enterprise Module for Basesystem 15 SP3 protobuf 0 3.9.2-150200.4.19.2
SUSE:Linux Enterprise Module for Basesystem 15 SP4 protobuf 0 3.9.2-150200.4.19.2
SUSE:Linux Enterprise Module for Basesystem 15 SP4 python-websocket-client 0 1.3.2-150100.6.7.3
SUSE:Linux Enterprise Module for Basesystem 15 SP5 python-websocket-client 0 1.3.2-150100.6.7.3
SUSE:Linux Enterprise Module for Development Tools 15 SP3 protobuf 0 3.9.2-150200.4.19.2
SUSE:Linux Enterprise Module for Development Tools 15 SP4 protobuf 0 3.9.2-150200.4.19.2
SUSE:Linux Enterprise Module for Package Hub 15 SP3 protobuf 0 3.9.2-150200.4.19.2
SUSE:Linux Enterprise Module for Package Hub 15 SP4 protobuf 0 3.9.2-150200.4.19.2
SUSE:Linux Enterprise Module for Package Hub 15 SP5 python-humanfriendly 0 10.0-150100.6.3.3
SUSE:Linux Enterprise Module for Public Cloud 15 SP1 azure-cli-core 0 2.17.1-150100.6.18.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP1 grpc 0 1.25.0-150100.3.3.3
SUSE:Linux Enterprise Module for Public Cloud 15 SP1 protobuf 0 3.9.2-150100.8.3.3
SUSE:Linux Enterprise Module for Public Cloud 15 SP1 python-Deprecated 0 1.2.13-150100.3.3.3
SUSE:Linux Enterprise Module for Public Cloud 15 SP1 python-PyGithub 0 1.43.5-150100.3.3.3
SUSE:Linux Enterprise Module for Public Cloud 15 SP1 python-Twisted 0 17.9.0-150000.3.8.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP1 python-aiocontextvars 0 0.2.2-150100.3.3.3
SUSE:Linux Enterprise Module for Public Cloud 15 SP1 python-avro 0 1.11.0-150100.3.3.3
SUSE:Linux Enterprise Module for Public Cloud 15 SP1 python-cryptography 0 3.3.2-150100.7.15.3
SUSE:Linux Enterprise Module for Public Cloud 15 SP1 python-cryptography-vectors 0 3.3.2-150100.3.11.3
SUSE:Linux Enterprise Module for Public Cloud 15 SP1 python-google-api-core 0 1.14.2-150100.3.3.3
SUSE:Linux Enterprise Module for Public Cloud 15 SP1 python-googleapis-common-protos 0 1.6.0-150100.3.3.3
SUSE:Linux Enterprise Module for Public Cloud 15 SP1 python-grpcio-gcp 0 0.2.2-150100.3.3.3
SUSE:Linux Enterprise Module for Public Cloud 15 SP1 python-humanfriendly 0 10.0-150100.6.3.3
SUSE:Linux Enterprise Module for Public Cloud 15 SP1 python-jsondiff 0 1.3.0-150100.3.6.3
SUSE:Linux Enterprise Module for Public Cloud 15 SP1 python-knack 0 0.9.0-150100.3.7.3
SUSE:Linux Enterprise Module for Public Cloud 15 SP1 python-opencensus 0 0.8.0-150100.3.3.3
SUSE:Linux Enterprise Module for Public Cloud 15 SP1 python-opencensus-context 0 0.1.2-150100.3.3.3
SUSE:Linux Enterprise Module for Public Cloud 15 SP1 python-opencensus-ext-threading 0 0.1.2-150100.3.3.3
SUSE:Linux Enterprise Module for Public Cloud 15 SP1 python-opentelemetry-api 0 1.5.0-150100.3.3.3
SUSE:Linux Enterprise Module for Public Cloud 15 SP1 python-psutil 0 5.9.1-150100.6.6.3
SUSE:Linux Enterprise Module for Public Cloud 15 SP1 python-pytest 0 3.10.1-150000.7.5.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP1 python-pytest-asyncio 0 0.8.0-150100.3.3.3
SUSE:Linux Enterprise Module for Public Cloud 15 SP1 python-requests 0 2.25.1-150100.6.13.3
SUSE:Linux Enterprise Module for Public Cloud 15 SP1 python-websocket-client 0 1.3.2-150100.6.7.3
SUSE:Linux Enterprise Module for Public Cloud 15 SP1 python-websockets 0 9.1-150100.3.3.3
SUSE:Linux Enterprise Module for Public Cloud 15 SP1 python-zope.interface 0 4.4.2-150000.3.4.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP2 azure-cli-core 0 2.17.1-150100.6.18.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP2 protobuf 0 3.9.2-150200.4.19.2
SUSE:Linux Enterprise Module for Public Cloud 15 SP2 python-Deprecated 0 1.2.13-150100.3.3.3
SUSE:Linux Enterprise Module for Public Cloud 15 SP2 python-PyGithub 0 1.43.5-150100.3.3.3
SUSE:Linux Enterprise Module for Public Cloud 15 SP2 python-aiocontextvars 0 0.2.2-150100.3.3.3
SUSE:Linux Enterprise Module for Public Cloud 15 SP2 python-avro 0 1.11.0-150100.3.3.3
SUSE:Linux Enterprise Module for Public Cloud 15 SP2 python-humanfriendly 0 10.0-150100.6.3.3
SUSE:Linux Enterprise Module for Public Cloud 15 SP2 python-jsondiff 0 1.3.0-150100.3.6.3
SUSE:Linux Enterprise Module for Public Cloud 15 SP2 python-knack 0 0.9.0-150100.3.7.3
SUSE:Linux Enterprise Module for Public Cloud 15 SP2 python-opencensus 0 0.8.0-150100.3.3.3
SUSE:Linux Enterprise Module for Public Cloud 15 SP2 python-opencensus-context 0 0.1.2-150100.3.3.3
SUSE:Linux Enterprise Module for Public Cloud 15 SP2 python-opencensus-ext-threading 0 0.1.2-150100.3.3.3
SUSE:Linux Enterprise Module for Public Cloud 15 SP2 python-opentelemetry-api 0 1.5.0-150100.3.3.3
SUSE:Linux Enterprise Module for Public Cloud 15 SP2 python-pytest 0 3.10.1-150000.7.5.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP2 python-pytest-asyncio 0 0.8.0-150100.3.3.3
SUSE:Linux Enterprise Module for Public Cloud 15 SP2 python-websockets 0 9.1-150100.3.3.3
SUSE:Linux Enterprise Module for Public Cloud 15 SP3 azure-cli-core 0 2.17.1-150100.6.18.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP3 protobuf 0 3.9.2-150200.4.19.2
SUSE:Linux Enterprise Module for Public Cloud 15 SP3 python-Deprecated 0 1.2.13-150100.3.3.3
SUSE:Linux Enterprise Module for Public Cloud 15 SP3 python-PyGithub 0 1.43.5-150100.3.3.3
SUSE:Linux Enterprise Module for Public Cloud 15 SP3 python-aiocontextvars 0 0.2.2-150100.3.3.3
SUSE:Linux Enterprise Module for Public Cloud 15 SP3 python-avro 0 1.11.0-150100.3.3.3
SUSE:Linux Enterprise Module for Public Cloud 15 SP3 python-humanfriendly 0 10.0-150100.6.3.3
SUSE:Linux Enterprise Module for Public Cloud 15 SP3 python-jsondiff 0 1.3.0-150100.3.6.3
SUSE:Linux Enterprise Module for Public Cloud 15 SP3 python-knack 0 0.9.0-150100.3.7.3

Related vulnerabilities