Miggo Logo

CVE-2021-21616: Stored XSS vulnerability in Jenkins Active Choices Plugin

4.6

CVSS Score
3.1

Basic Information

EPSS Score
0.84027%
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:R/S:U/C:L/I:L/A:N
Package NameEcosystemVulnerable VersionsFirst Patched Version
org.biouno:uno-choicemaven<= 2.5.22.5.3

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The commit diff shows a critical modification in getReferencedParametersAsArray() where Util.escape() was added to sanitize parameter values. The vulnerability stemmed from unescaped reference parameters being rendered in the UI, enabling XSS. The added test case TestDynamicReferenceXss.java explicitly verifies escaping in this function, confirming its role in the vulnerability.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

J*nkins **tiv* **oi**s Plu*in *.*.* *n* **rli*r *o*s not *s**p* r***r*n** p*r*m*t*r v*lu*s. T*is r*sults in * stor** *ross-sit* s*riptin* (XSS) vuln*r**ility *xploit**l* *y *tt**k*rs wit* Jo*/*on*i*ur* p*rmission. J*nkins **tiv* **oi**s Plu*in *.*.

Reasoning

T** *ommit *i** s*ows * *riti**l mo*i*i**tion in **tR***r*n***P*r*m*t*rs*s*rr*y() w**r* Util.*s**p*() w*s ***** to s*nitiz* p*r*m*t*r v*lu*s. T** vuln*r**ility st*mm** *rom un*s**p** r***r*n** p*r*m*t*rs **in* r*n**r** in t** UI, *n**lin* XSS. T** **