Miggo Logo

CVE-2020-2092: XXE vulnerability in Jenkins Robot Framework Plugin

7.6

CVSS Score
3.1

Basic Information

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

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:L
Package NameEcosystemVulnerable VersionsFirst Patched Version
org.jenkins-ci.plugins:robotmaven< 2.0.12.0.1

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from insecure XML parser configuration in the Robot Framework Plugin. The commit diff shows the critical fix was adding 'factory.setProperty(XMLInputFactory.IS_SUPPORTING_EXTERNAL_ENTITIES, Boolean.FALSE)' in RobotParser.java. The vulnerable versions lacked this protection, allowing external entity processing. The invoke method in RobotParserCallable is responsible for parsing XML input files during the 'Publish Robot Framework' step, making it the entry point for XXE exploitation. The added test case 'xxe_output.xml' and corresponding exception test confirm this was the attack vector.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

Ro*ot *r*m*work Plu*in *.*.* *n* **rli*r *o*s not *on*i*ur* t** XML p*rs*r to pr*v*nt XML *xt*rn*l *ntity (XX*) *tt**ks. T*is *llows * us*r **l* to *ontrol t** input *il*s *or t** 'Pu*lis* Ro*ot *r*m*work' post-*uil* st*p to **v* J*nkins p*rs* * *r*

Reasoning

T** vuln*r**ility st*ms *rom ins**ur* XML p*rs*r *on*i*ur*tion in t** Ro*ot *r*m*work Plu*in. T** *ommit *i** s*ows t** *riti**l *ix w*s ***in* '***tory.s*tProp*rty(XMLInput***tory.IS_SUPPORTIN*_*XT*RN*L_*NTITI*S, *ool**n.**LS*)' in Ro*otP*rs*r.j*v*.