Miggo Logo

CVE-2021-4178: fabric8 kubernetes-client vulnerable

6.7

CVSS Score
3.1

Basic Information

EPSS Score
0.21775%
Published
7/15/2022
Updated
5/22/2023
KEV Status
No
Technology
TechnologyJava

Technical Details

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
Package NameEcosystemVulnerable VersionsFirst Patched Version
io.fabric8:kubernetes-clientmaven>= 5.0.0-beta-1, < 5.0.35.0.3
io.fabric8:kubernetes-clientmaven>= 5.1.0, < 5.1.25.1.2
io.fabric8:kubernetes-clientmaven>= 5.2.0, < 5.3.25.3.2
io.fabric8:kubernetes-clientmaven>= 5.5.0, < 5.7.45.7.4
io.fabric8:kubernetes-clientmaven>= 5.8.0, < 5.8.15.8.1
io.fabric8:kubernetes-clientmaven>= 5.9.0, < 5.10.25.10.2
io.fabric8:kubernetes-clientmaven>= 5.11.0, < 5.11.25.11.2

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stemmed from insecure YAML deserialization using SnakeYAML's default constructor. The patch explicitly adds SafeConstructor to restrict deserialization to standard Java types. The unmarshalYaml() function directly handles YAML input parsing and was the locus of the unsafe deserialization. The CWEs (94/502) and commit diff both confirm this was the attack vector.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

***ri** Ku**rn*t*s *li*nt *** *n *r*itr*ry *o** *x**ution *l*w in v*rsions *.*.*-**t*-* *n* *i***r. *tt**k*rs *oul* pot*nti*lly ins*rt m*li*ious Y*MLs *u* to mis*on*i*ur** Y*ML p*rsin*.

Reasoning

T** vuln*r**ility st*mm** *rom ins**ur* Y*ML **s*ri*liz*tion usin* Sn*k*Y*ML's ****ult *onstru*tor. T** p*t** *xpli*itly ***s `S****onstru*tor` to r*stri*t **s*ri*liz*tion to st*n**r* J*v* typ*s. T** `unm*rs**lY*ml()` *un*tion *ir**tly **n*l*s Y*ML i