Miggo Logo

CVE-2020-2179: RCE vulnerability in Jenkins Yaml Axis Plugin

8.8

CVSS Score
3.0

Basic Information

EPSS Score
0.73202%
Published
5/24/2022
Updated
12/22/2023
KEV Status
No
Technology
TechnologyJava

Technical Details

CVSS Vector
CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Package NameEcosystemVulnerable VersionsFirst Patched Version
org.jenkins-ci.plugins:yaml-axismaven<= 0.2.00.2.1

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from unsafe YAML deserialization due to missing SafeConstructor configuration. The commit diff shows both YamlFileLoader and YamlTextLoader classes were modified to replace 'new Yaml()' with 'new Yaml(new SafeConstructor())'. Prior to this fix, the default snakeyaml parser would allow instantiation of arbitrary Java types via YAML payloads. These two functions directly handle YAML parsing for the plugin's axis configuration, making them the entry points for exploitation. The high confidence comes from explicit evidence in the patch and CWE-502 classification.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

Y*ml *xis Plu*in *.*.* *n* **rli*r *o*s not *on*i*ur* its Y*ML p*rs*r to pr*v*nt t** inst*nti*tion o* *r*itr*ry typ*s. T*is r*sults in * r*mot* *o** *x**ution (R**) vuln*r**ility *xploit**l* *y us*rs **l* to *on*i*ur* * multi-*on*i*ur*tion (M*trix) j

Reasoning

T** vuln*r**ility st*ms *rom uns*** Y*ML **s*ri*liz*tion *u* to missin* `S****onstru*tor` *on*i*ur*tion. T** *ommit *i** s*ows *ot* `Y*ml*il*Lo***r` *n* `Y*mlT*xtLo***r` *l*ss*s w*r* mo*i*i** to r*pl*** 'n*w `Y*ml()`' wit* 'n*w `Y*ml(n*w S****onstru*