Miggo Logo

CVE-2020-2227: Stored XSS vulnerability in Jenkins Deployer Framework Plugin

8

CVSS Score
3.1

Basic Information

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

Technical Details

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

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from unescaped output of it.location.description in Jelly template tooltip attributes. The commit diff shows the fix added h.xmlEscape() around these values. Since Jelly templates automatically HTML-escape ${} expressions but not attribute values, the tooltip attribute required explicit XML escaping. The vulnerable code paths are the template rendering mechanisms that display deployment location metadata without proper context-aware escaping.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

**ploy*r *r*m*work Plu*in is * *r*m*work plu*in *llowin* ot**r plu*ins to provi** * w*y to **ploy *rti***ts. **ploy*r *r*m*work Plu*in *.* *n* **rli*r *o*s not *s**p* t** URL *ispl*y** in t** *uil* *om* p***. T*is r*sults in * stor** *ross-sit* s*rip

Reasoning

T** vuln*r**ility st*ms *rom un*s**p** output o* it.lo**tion.**s*ription in J*lly t*mpl*t* tooltip *ttri*ut*s. T** *ommit *i** s*ows t** *ix ***** `*.xml*s**p*()` *roun* t**s* v*lu*s. Sin** J*lly t*mpl*t*s *utom*ti**lly *TML-*s**p* ${} *xpr*ssions *u