Miggo Logo

CVE-2020-2290: Stored XSS vulnerability in Jenkins Active Choices Plugin

5.4

CVSS Score
3.1

Basic Information

EPSS Score
0.46325%
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:C/C:L/I:L/A:N
Package NameEcosystemVulnerable VersionsFirst Patched Version
org.biouno:uno-choicemaven< 2.52.5

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stemmed from incomplete sanitization in script return value handling. The commit diff shows the patched version added resolveTypeAndSanitize() to recursively sanitize List/Map elements, while the original code (shown in the patch's '-' lines) only sanitized CharSequence types. This matches the CVE description about unescaped List/Map values in Reactive Reference Parameters. The eval function is the entry point for script evaluation and was the root cause of insufficient escaping.

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* `List` *n* `M*p` r*turn v*lu*s o* s*n**ox** s*ripts *or R***tiv* R***r*n** P*r*m*t*rs. T*is r*sults in * stor** *ross-sit* s*riptin* (XSS) vuln*r**ility *xploit**l* *y *tt**k*rs wit* Jo*/

Reasoning

T** vuln*r**ility st*mm** *rom in*ompl*t* s*nitiz*tion in s*ript r*turn v*lu* **n*lin*. T** *ommit *i** s*ows t** p*t**** v*rsion ***** `r*solv*Typ**n*S*nitiz*()` to r**ursiv*ly s*nitiz* List/M*p *l*m*nts, w*il* t** ori*in*l *o** (s*own in t** p*t**'