CVE-2020-2163: Improper Neutralization of Input During Web Page Generation in Jenkins
5.4
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.61471%
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:C/C:L/I:L/A:N
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
org.jenkins-ci.main:jenkins-core | maven | <= 2.204.5 | 2.204.6 |
org.jenkins-ci.main:jenkins-core | maven | > 2.204.6, <= 2.227 | 2.228 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stems from two key locations: 1) The sortable.js
script's handling of column headers originally used getInnerText()
which returns unescaped text, then injected it into DOM via innerHTML
without sanitization. 2) The Jelly template's column header rendering mechanism allowed HTML content to pass through without proper contextual escaping. The fix in commit a61d6a1 addressed both by using cell.innerHTML
(already escaped by Jelly) in JavaScript and adding security warnings in the Jelly template comments. The combination of unescaped HTML in column headers and unsafe DOM manipulation in JavaScript created the XSS vector.