GHSA-xjjc-6r4m-w362
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate with Item/Configure permission
-
DeliveryPOST crafted job config.xml
-
ExploitBypass collection element type check
-
ExecutionStore XSS payload in job
-
ImpactScript executes in victim browser session
Vulnerability Assessment
| Exploitation Conditions | Attacker must hold Item/Configure permission (or an equivalent */Configure permission such as View/Configure or Agent/Configure) on a vulnerable instance - Jenkins 2.587 and earlier or LTS 2.580.1 and earlier - and use the POST config.xml API to submit a job config.xml whose crafted collection elements evade the per-converter element-type checks. Limiting factors: the actor cannot be anonymous and must already be authorized to configure items; as stored XSS it only executes when another user loads the affected page (victim interaction required); and on Jenkins 2.539+/LTS 2.541.1+ enforcing Content Security Policy protection mitigates the known impact. The advisory also notes other XSS or type-confusion variants from unexpected collection element types may be possible, but no specific additional trigger is described in the available sources. |
| Impact | No CVSS base vector is published for this CVE - both Jenkins advisory pages show 'CVSS Vector: N/A' and give only a qualitative 'High' rating from the Jenkins CNA, so attack-vector/complexity/privilege metrics cannot be read from the input and the 'High' label cannot be independently reconciled with a numeric score. There is no EPSS score, no CISA KEV listing, and no PoC or exploit reference among the four references (all are the oss-security post and Jenkins advisory/reporting pages), so exploitation status is 'no public exploit identified at time of analysis.' The vuln.today decision label is 'awaiting_data,' consistent with the thin signal set. On substance this is a stored cross-site scripting flaw, not the remote code execution that several sibling issues in the same advisory carry: it requires an authenticated actor holding Item/Configure (or equivalent */Configure) permission to submit a crafted config.xml, and the payload only fires when another user views the affected page. Given the privileged-access and victim-interaction requirements plus an available CSP mitigation, my independent read is that real-world risk is moderate (Medium-class) rather than the 'High' qualitative label, and this issue is a lower priority than the RCE items (CVE-2026-117612/117614/117615/117616/117617) bundled in the same advisory. Note the discrepancy: vendor labels this High but publishes no vector, and a stored XSS gated by PR:L and UI:R typically scores Medium - verify the intended vector with Jenkins. |
| Exploit ScenarioDerived | An attacker who already holds Item/Configure permission submits a crafted job config.xml through the POST config.xml API, exploiting the fact that not all XStream converters restrict collection element types; the crafted elements persist as stored content. When an administrator or other user later views the affected job page, the injected script executes in their authenticated browser session. No public exploit code was identified at the time of analysis, and the stored XSS does not fire without a victim viewing the page. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 28, 2026
Stored cross-site scripting in Jenkins core 2.587 and earlier and LTS 2.580.1 and earlier allows an attacker who already holds Item/Configure permission (or an equivalent */Configure permission such as View/Configure or Agent/Configure) to submit a crafted job config.xml through the POST config.xml API, where XStream deserialization of collection elements with unchecked types leads to script injection that executes in the browser of another user who later views the affected page. The actor cannot be anonymous and must be authorized to configure items, and exploitation requires victim interaction, so the practical impact is scoped to cross-site scripting rather than direct server compromise; Jenkins rates the issue qualitatively as High while publishing no CVSS base vector. No public exploit code has been identified at time of analysis and the CVE is not in CISA KEV. Enforcing Content Security Policy, available on Jenkins 2.539/LTS 2.541.1 and newer, mitigates the known impact, and the flaw is fixed in Jenkins 2.588 and LTS 2.580.2.
RemediationAI
Upgrade to Jenkins 2.588 (weekly) or Jenkins LTS 2.580.2, the releases named in the 2026-10-28 advisory as containing the fixes; no backport beyond the LTS 2.580.2 line is described in the available data. Where an immediate upgrade is not possible, enforce Content Security Policy, which the advisory states mitigates the known impact of this vulnerability on Jenkins 2.539 and newer and LTS 2.541.1 and newer; older instances gain no protection from that measure. Additionally, restrict Item/Configure, View/Configure and Agent/Configure permissions to trusted users, since the vulnerable config.xml submission path requires one of those permissions and the attacker cannot be anonymous - the trade-off is reduced self-service for job and view administration. Full advisory detail, including severity scoring and attribution, is at https://www.jenkins.io/security/advisory/2026-10-28/, and the release announcement is at https://seclists.org/oss-sec/2026/q4/413. Note that the same advisory bundle introduces an XStream type permission system in 2.588/LTS 2.580.2 that can be disabled with the Java system property hudson.util.XStream2.SUPPRESS_TYPE_PERMISSION; doing so trades deserialization hardening for compatibility and should only be used to resolve confirmed upgrade regressions.
Affected VersionsENISA
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Jenkins persists configuration and build data through XStream, and any user holding the relevant */Configure permission can supply XML documents to it (for example the item POST config.xml endpoint). XStream itself places no restriction on the concrete types used for collection elements after deserialization, so Jenkins relies on per-converter element-type checks to constrain what may be instantiated; the advisory notes that earlier hardening (SECURITY-3707 in the 2026-06-10 advisory) covered only some converters, leaving others without element-type restriction. The result is a type-handling weakness in the deserialization layer that manifests here as stored cross-site scripting: a crafted config.xml injects markup that is rendered when another user loads the page. The Jenkins advisory frames this primarily as a collection element type check bypass that yields stored XSS, and explicitly warns that other XSS variants or other vulnerability classes arising from unexpected collection element types may also be possible, though no additional concrete trigger is described in the available sources. The underlying CWE is not stated in the supplied data. Content Security Policy enforcement on Jenkins 2.539/LTS 2.541.1 and newer mitigates the known XSS impact. Note that the independent assessment cannot reconcile the Jenkins CNA's qualitative 'High' rating with a numeric score because both advisory pages list the CVSS vector as N/A.
Know when Jenkins 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
Submitted over the HTTP config.xml API (AV:N/AC:L) by a user who must hold Item/Configure (PR:L); stored XSS needs a victim to view the page (UI:R) and executes in their browser context (S:C, C:L/I:L, A:N).
Description PRE-NVD
Executive ViewAI
A critical stored cross-site scripting vulnerability in Jenkins core (versions 2.587 and earlier, LTS 2.580.1 and earlier) allows authenticated users with configuration permissions to inject malicious scripts that execute in other users' browsers. While exploitation requires victim interaction and privileged access, it could lead to session hijacking or data theft, affecting development and operations teams relying on Jenkins. Leadership should prioritize patching or mitigating controls due to the critical severity rating and potential for lateral movement within CI/CD environments.
Enforce Content Security Policy (CSP) on Jenkins 2.539/LTS 2.541.1 and newer; restrict Item/Configure and equivalent permissions to trusted users; monitor configuration changes for anomalies.
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
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
Insecure deserialization occurs when an application converts serialized data (a stream of bytes representing an object's state) back into a living object without proper validation.
Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour
A sandbox bypass vulnerability exists in Jenkins Pipeline: Groovy Plugin 2.63 and earlier in pom.xml, src/main/java/org/
The Jenkins CLI subsystem in Jenkins before 1.638 and LTS before 1.625.2 allows remote attackers to execute arbitrary co
The remoting module in Jenkins before 2.32 and LTS before 2.19.3 allows remote attackers to execute arbitrary code via a
Multiple unspecified API endpoints in Jenkins before 1.650 and LTS before 1.642.2 allow remote authenticated users to ex
The Fingerprints pages in Jenkins before 1.638 and LTS before 1.625.2 might allow remote attackers to obtain sensitive j
The remoting module in Jenkins before 1.650 and LTS before 1.642.2 allows remote attackers to execute arbitrary code by
A sandbox bypass vulnerability exists in Jenkins Script Security Plugin 1.53 and earlier in src/main/java/org/jenkinsci/
A code execution vulnerability exists in the Stapler web framework used by Jenkins 2.153 and earlier, LTS 2.138.3 and ea
A sandbox bypass vulnerability exists in Jenkins Script Security Plugin 1.50 and earlier in src/main/java/org/jenkinsci/
A sandbox bypass vulnerability exists in Pipeline: Declarative Plugin 1.3.3 and earlier in. Rated high severity (CVSS 8.
A sandbox bypass vulnerability exists in Pipeline: Groovy Plugin 2.61 and earlier in src/main/java/org/jenkinsci/plugins
EUVD-2026-112178
CVE.org
Exploit-DB