CVE-2022-34171 — jenkins-core
MEDIUMCVE-2022-34171 is a medium-severity (CVSS 5.4) Cross-site Scripting (XSS) vulnerability in org.jenkins-ci.main:jenkins-core. A fix is available for org.jenkins-ci.main:jenkins-core — see the affected versions and patch details below.
Cross-site Scripting vulnerability in Jenkins
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
How urgent is this, really
Where this sits among everything scored
Real-World Exposure
org.jenkins-ci.main:jenkins-core☕org.jenkins-ci.main:jenkins-core☕org.jenkins-ci.main:jenkins-coreReal-time download stats are indexed for npm and PyPI packages. This vulnerability affects Maven packages — download data is not available via public APIs for these ecosystems.
Description
Since Jenkins 2.321 and LTS 2.332.1, the HTML output generated for new symbol-based SVG icons includes the title attribute of l:ionicon until Jenkins 2.334 and alt attribute of l:icon since Jenkins 2.335 without further escaping.
This vulnerability is known to be exploitable by attackers with Job/Configure permission.
Jenkins 2.356, LTS 2.332.4 and LTS 2.346.1 addresses this vulnerability, the title attribute of l:ionicon (Jenkins LTS 2.332.4) and alt attribute of l:icon (Jenkins 2.356 and LTS 2.346.1) are escaped in the generated HTML output.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| ☕Maven | org.jenkins-ci.main:jenkins-core | ≥ 2.350&&< 2.356 | 2.356org.jenkins-ci.main:jenkins-core:2.356 |
| ☕Maven | org.jenkins-ci.main:jenkins-core | ≥ 2.346&&< 2.346.1 | 2.346.1org.jenkins-ci.main:jenkins-core:2.346.1 |
| ☕Maven | org.jenkins-ci.main:jenkins-core | all versions | 2.332.4org.jenkins-ci.main:jenkins-core:2.332.4 |
Affected Products
jenkinsjenkinsDetection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for org.jenkins-ci.main:jenkins-core, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update org.jenkins-ci.main:jenkins-core to 2.356 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2022-34171 is resolved across your whole dependency graph.
Workarounds
Escape or sanitise the affected output on the server side rather than relying on client-side filtering, and add a Content-Security-Policy that blocks inline script execution so injected markup cannot run even if it reaches the page.
Frequently Asked Questions
Is CVE-2022-34171 in your dependencies?
Find it across Maven, including transitive dependencies.