Miggo Logo

CVE-2022-29043: Stored Cross-site Scripting in Jenkins Mask Passwords Plugin

5.4

CVSS Score
3.1

Basic Information

EPSS Score
0.96573%
Published
4/13/2022
Updated
10/27/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.jenkins-ci.plugins:mask-passwordsmaven< 3.13.1

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from unescaped parameter name/description rendering in Jelly templates. The patch adds h.escape() calls and formattedDescription references, indicating the original code lacked output encoding. Both modified files handled parameter display without escaping user-controlled values (name/description), making them direct XSS injection points. The Jelly templates' form entry components (f:entry) were vulnerable entry points when rendering parameter metadata.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

J*nkins M*sk P*sswor*s Plu*in *.* *n* **rli*r *o*s not *s**p* t** n*m* *n* **s*ription o* Non-Stor** P*sswor* p*r*m*t*rs on vi*ws *ispl*yin* p*r*m*t*rs, r*sultin* in * stor** *ross-sit* s*riptin* (XSS) vuln*r**ility *xploit**l* *y *tt**k*rs wit* It*m

Reasoning

T** vuln*r**ility st*ms *rom un*s**p** p*r*m*t*r n*m*/**s*ription r*n**rin* in J*lly t*mpl*t*s. T** p*t** ***s `*.*s**p*()` **lls *n* *orm*tt****s*ription r***r*n**s, in*i**tin* t** ori*in*l *o** l**k** output *n*o*in*. *ot* mo*i*i** *il*s **n*l** p*