Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to Jenkins with low-privilege account
-
DeliverySubmit crafted Stapler request with malicious SVG icon
-
ExploitPayload stored in plugin configuration
-
ExecutionVictim authenticates and loads any Jenkins page
-
PersistBrowser renders header with embedded JavaScript
-
ImpactAttacker receives exfiltrated session tokens or executes admin-context actions
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The attacker must hold a Jenkins account with at least 'Overall/Read' and permission to submit configuration changes to the Customizable Header Plugin - typically any authenticated user can trigger Stapler binding if the configuration endpoint is not access-controlled. The Jenkins instance must have the Customizable Header Plugin installed and active. The malicious SVG payload persists until the configuration is overwritten or the plugin is removed, and executes automatically in any authenticated user's browser on any Jenkins page load - no targeted phishing or additional user interaction beyond normal Jenkins use is required. Exploitation is limited to: (1) environments where the plugin is installed, and (2) attackers who can authenticate to Jenkins and reach the configuration binding endpoint. |
| Impact | The vendor CVSS of 8.8 (AV:N/AC:L/PR:L/UI:N/S:U) reflects a low-complexity network attack requiring only authenticated access. The UI:N metric is atypical for stored XSS - normally a victim must visit the affected page (UI:R) - but is defensible here because the header renders on every Jenkins page, meaning exploitation of any authenticated visitor occurs automatically without targeted interaction. SSVC rates technical impact as total, consistent with the C:H/I:H/A:H impact metrics, meaning session hijacking, credential theft, or administrative action-in-context is possible. SSVC also rates automatable as no, which aligns with the PR:L requirement: an attacker must first obtain Jenkins credentials before writing the malicious configuration. There is no CISA KEV listing and no EPSS data provided, so real-world exploitation is unconfirmed. The realistic risk is moderate: the plugin is an optional cosmetic add-on, limiting the attack surface to environments where it is installed, but within those environments, any low-privileged account becomes a vector for platform-wide persistent XSS against all users including admins. |
| Exploit ScenarioDerived | An attacker with a low-privileged Jenkins account (e.g., a developer with job-configuration rights) submits a crafted HTTP request via Stapler data binding to overwrite the Customizable Header Plugin's icon configuration with a malicious SVG containing an inline script that exfiltrates cookies or performs API calls. The stored payload renders in every authenticated user's browser on their next Jenkins page load, including administrators, enabling session hijacking or lateral movement to higher-privilege operations. No public proof-of-concept has been identified, but the technique is well-documented for SVG-based stored XSS and requires no specialized tooling. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 02, 2026
Stored cross-site scripting in Jenkins Customizable Header Plugin 295.v2544b_ca_19b_97 and earlier allows authenticated attackers with permission to modify plugin appearance settings to inject persistent JavaScript payloads via a crafted SVG icon, executing in the browser context of any Jenkins user who loads the affected header. Because the header renders on every Jenkins page, a single write operation by a low-privileged attacker broadly affects all platform users, including administrators. No public exploit code has been identified at time of analysis, and SSVC categorizes exploitation as none, though technical impact is rated total.
RemediationAI
Apply the patched version of the Customizable Header Plugin released in conjunction with the vendor advisory at https://www.jenkins.io/security/advisory/2026-09-02/#SECURITY-4104. The exact fixed version number is not stated in available data - consult the Jenkins Update Center or the advisory directly to confirm the remediated release and upgrade via Jenkins plugin manager. As a compensating control pending upgrade, restrict the 'Overall/Administer' or plugin-specific configuration permissions to fully trusted accounts only, preventing low-privileged users from modifying the header appearance. Alternatively, disable or uninstall the Customizable Header Plugin entirely if custom header branding is not operationally required; this fully eliminates the attack surface with no functional impact on core Jenkins.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Jenkins uses Stapler as its web framework, which automatically binds HTTP request parameters to Java object fields using reflection-based data binding. The Customizable Header Plugin (CPE: cpe:2.3:a:jenkins_project:jenkins_customizable_header_plugin:*:*:*:*:*:*:*:*) exposes its appearance configuration - including an icon field - to Stapler binding without adequately restricting the accepted SVG content. SVG files support inline script elements and event handlers natively; a crafted SVG containing JavaScript is stored as the plugin's configured icon. When Jenkins renders the header for subsequent page loads, the browser parses and executes the embedded script. The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation), specifically the stored/persistent variant, compounded by overly permissive Stapler binding exposure of security-sensitive configuration fields.
Know when Jenkins Customizable Header Plugin gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
PR:L for required authenticated access; UI:R because a victim must browse a Jenkins page; S:C because the attacker's script executes in victim browser scope.
Primary rating from Vendor (jenkins).
CVSS VectorVendor: jenkins
Lifecycle Timeline
3DescriptionCVE.org
Jenkins Customizable Header Plugin 295.v2544b_ca_19b_97 and earlier allows overwriting the plugin's appearance configuration through Stapler data binding, allowing attackers to configure a custom SVG icon containing inline JavaScript, resulting in a stored cross-site scripting (XSS) vulnerability.
Articles & Coverage 2
Executive ViewAI
Jenkins Customizable Header Plugin (versions 295.v2544b_ca_19b_97 and earlier) allows authorized administrators to inject persistent malicious code that executes for all platform users, including other administrators. This vulnerability threatens the integrity of your CI/CD pipeline and could expose application source code, deployment credentials, and build artifacts to unauthorized parties.
Restrict plugin configuration access to a minimal set of trusted administrators requiring multi-factor authentication; enable comprehensive audit logging and alerting for all plugin configuration changes; implement Content Security Policy headers to mitigate malicious script execution scope; disable the plugin if not essential to operations; implement input validation and SVG sanitization at the application or WAF layer to prevent malicious payload delivery.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
EUVD-2026-70146
GHSA-hq87-q544-6grj
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB