Miggo Logo

CVE-2022-45382:
Cross-site Scripting in Jenkins Naginator Plugin

5.4

CVSS Score

Basic Information

EPSS Score
-
Published
11/16/2022
Updated
1/5/2024
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:naginatormaven<= 1.18.11.18.2

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from improper escaping of build display names in the NaginatorCause's Jelly template. The commit diff shows the removal of <j:out> wrappers around message outputs (e.g., ${%DescriptionWithLinkToSource(...)}). In Jenkins Jelly, <j:out> normally escapes content, but when wrapping localized messages containing embedded parameters (like it.summary), it may fail to properly escape parameters injected into HTML contexts within the message. The test case added in the commit verifies that raw HTML in display names is now escaped, confirming the XSS vector was in this rendering logic. The vulnerable code paths are the message rendering sections in description.jelly that handled user-controlled display names without adequate escaping.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

N**in*tor Plu*in *.**.* *n* **rli*r *o*s not *s**p* *ispl*y n*m*s o* sour** *uil*s in *uil*s t**t w*r* tri***r** vi* R*try **tion. T*is r*sults in * stor** *ross-sit* s*riptin* (XSS) vuln*r**ility *xploit**l* *y *tt**k*rs **l* to **it *uil* *ispl*y

Reasoning

T** vuln*r**ility st*ms *rom improp*r *s**pin* o* *uil* *ispl*y n*m*s in t** N**in*tor**us*'s J*lly t*mpl*t*. T** *ommit *i** s*ows t** r*mov*l o* <j:out> wr*pp*rs *roun* m*ss*** outputs (*.*., ${%**s*riptionWit*LinkToSour**(...)}). In J*nkins J*lly,