-
CVSS Score
-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.
| 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 |