Miggo Logo

CVE-2022-3171: protobuf-java has a potential Denial of Service issue

5.7

CVSS Score
3.1

Basic Information

EPSS Score
0.22366%
Published
10/4/2022
Updated
4/27/2023
KEV Status
No
Technology
TechnologyJava

Technical Details

CVSS Vector
CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Package NameEcosystemVulnerable VersionsFirst Patched Version
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

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from inefficient parsing logic that created excessive object conversions between mutable/immutable forms. Release notes specifically mention:

  1. Migration of parsing from constructors to Builder classes
  2. Changes in Lite runtime merging behavior
  3. TextFormat parser optimizations These functions are central to message parsing and merging operations. The patch focused on reducing allocations by reusing builders instead of creating new immutable instances, directly addressing the GC pressure issue caused by repeated conversions.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

## Summ*ry * pot*nti*l **ni*l o* S*rvi** issu* in `proto*u*-j*v*` *or* *n* lit* w*s *is*ov*r** in t** p*rsin* pro***ur* *or *in*ry *n* t*xt *orm*t **t*. Input str**ms *ont*inin* multipl* inst*n**s o* non-r*p**t** [*m****** m*ss***s](*ttp://**v*lop*rs

Reasoning

T** vuln*r**ility st*ms *rom in***i*i*nt p*rsin* lo*i* t**t *r**t** *x**ssiv* o*j**t *onv*rsions **tw**n mut**l*/immut**l* *orms. R*l**s* not*s sp**i*i**lly m*ntion: *. Mi*r*tion o* p*rsin* *rom *onstru*tors to *uil**r *l*ss*s *. ***n**s in Lit* runt