CVE-2020-2221: Stored XSS vulnerability in Jenkins upstream cause
8
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.67956%
CWE
Published
5/24/2022
Updated
12/22/2023
KEV Status
No
Technology
Java
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
org.jenkins-ci.main:jenkins-core | maven | <= 2.235.1 | 2.235.2 |
org.jenkins-ci.main:jenkins-core | maven | >= 2.236, <= 2.244 | 2.245 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stems from improper escaping of the upstream job's display name in the build cause description. The commit diff shows removal of <j:out>
tags in the Jelly template, which previously attempted to escape the entire message. However, the display name parameter (fullDisplayName) was not individually escaped when passed into the message format string. This allowed malicious HTML/JS in the display name to execute when the build cause was rendered. The added test cases explicitly validate()
XSS prevention by injecting a <script>
payload into the display name, confirming the vulnerable code path.