Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate with classpath-define permission
-
DeliverySet classpath to attacker-controlled JAR URL
-
ExploitServe benign JAR on first (approval) fetch
-
ExecutionServe malicious JAR on second (load) fetch
-
ImpactExecute arbitrary code in controller JVM
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V15 - Secure Coding and Architecture Code integrity verification
|
| Exploitation Conditions | Exploitation requires an authenticated Jenkins user (PR:L) who holds permission to define classpath entries for scripts/shared libraries (e.g. Groovy classpath configuration governed by the Script Security approval mechanism). The attacker must control a web server reachable by the Jenkins controller and return two different JAR files across the two sequential downloads - a benign/approvable JAR first and a malicious JAR second - which is the TOCTOU window reflected by AC:H. Limiting factors: no anonymous/unauthenticated path (requires the classpath-definition privilege), the race between the approval download and the load download must be won reliably, and controllers restricting classpath-entry configuration to trusted admins substantially reduce exposure. |
| Impact | This is a genuine remote code execution flaw in the Jenkins Script Security Plugin, and unusually for Jenkins advisories the vendor CVSS vector (CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H, 7.5) is honestly scored rather than inflated boilerplate: AC:H reflects the time-of-check/time-of-use race (the plugin downloads the URL-specified JAR twice, approving the first response but loading classpath entries from the second, so the attacker must serve a benign JAR on request one and a malicious JAR on request two), and PR:L reflects that the attacker must already hold permission to define classpath entries. C:H/I:H/A:H are warranted because success yields code execution in the Jenkins controller JVM. On exploitation signals: no CISA KEV listing, no public POC, and no EPSS score are present in the input - so this is no public exploit identified at time of analysis, meaning the risk is prioritization-worthy on impact (controller RCE) but not driven by observed in-the-wild activity. Net: a real priority for Jenkins operators due to controller compromise potential, tempered by the AC:H race condition and the PR:L authorization prerequisite. No signals conflict; the main missing data is EPSS/SSVC, which are simply absent rather than contradictory. |
| Exploit ScenarioDerived | An authenticated Jenkins user who can define classpath entries points a script/library classpath at a JAR URL under their control and configures their web server to return an innocuous, approvable JAR on the first request and a malicious JAR on the second. The plugin approves the first download but loads and executes the second, running attacker code inside the Jenkins controller JVM. No public exploit code is identified, and the CVSS AC:H reflects the timing/response-differentiation the attacker must control. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 16, 2026
Arbitrary code execution in the Jenkins Script Security Plugin (versions up to and including 1415.v9a_f9b_3a_c253d) lets an authenticated attacker who holds permission to define classpath entries run attacker-supplied code inside the Jenkins controller JVM. The plugin downloads the URL-specified JAR twice - it verifies approval against the first response but then loads classpath entries from the second - so an attacker who controls the hosting server can present a benign, approvable JAR on request one and a malicious JAR on request two. The assessed CVSS 3.1 vector (7.5, AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H) accurately reflects this time-of-check/time-of-use race: the flaw is remotely reachable but requires an authenticated classpath-defining user and a reliably won race; there is no public exploit code and no confirmed active exploitation identified at time of analysis.
RemediationAI
Upgrade the Jenkins Script Security Plugin past 1415.v9a_f9b_3a_c253d to the fixed version named in the Jenkins Security Advisory 2026-09-16, SECURITY-3932 (https://www.jenkins.io/security/advisory/2026-09-16/#SECURITY-3932) - the exact patched version number is not enumerated in the supplied data, so confirm it against that advisory before scheduling the update; the plugin can be updated through Jenkins' own Plugin Manager. If immediate update is not possible, restrict the classpath-entry-definition capability so only fully trusted Jenkins administrators can configure classpath entries for scripts and shared libraries, since the flaw requires PR:L-style permission - this is highly effective but will break legitimate non-admin pipeline workflows that rely on that feature. As a second compensating control, enforce controller egress filtering so the Jenkins controller cannot reach arbitrary external hosts that serve classpath JARs; this defeats the attacker-controlled second download but has the side effect of blocking legitimate artifact/plugin fetches and must be paired with an allowlist of trusted artifact repositories. Finally, because the approved and loaded artifacts can diverge, treat any URL-based classpath entry as untrusted: prefer vendored, hash-pinned JARs where the tooling allows it, and review Jenkins controller logs and outbound HTTP history for repeated fetches of the same classpath URL that could indicate the two-download race pattern.
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
Root cause is CWE-494 (Download of Code Without Integrity Check) realized as a time-of-check/time-of-use (TOCTOU) flaw in the Jenkins Script Security Plugin, the component that gates script/classpath approval in the Jenkins sandbox. When a script or shared library declares classpath entries via a URL, the plugin fetches that JAR, submits the first download for approval, and then - because it does not pin or hash the reviewed artifact - loads classpath entries from a second, separate download of the same URL. Any host able to change the response between the two requests therefore bypasses the approval decision entirely. Exploitation prerequisites per the independent assessment: a valid authenticated Jenkins identity (PR:L per CVSS:3.1/AV:N/AC:H/PR:L/UI:N - authentication requirements are unauthenticated-context only to the network, but privileged-role required for the classpath feature), the classpath-definition permission governed by the Script Security approval mechanism, and an attacker-controlled web server reachable outbound from the Jenkins controller that can serve two distinct JARs in sequence. Success yields code execution in the Jenkins controller JVM with the Jenkins service account's privileges (C:H/I:H/A:H), enabling credential and secret theft from the controller, tampering with build pipelines, and lateral movement into connected agents and SCM systems. The CPE cpe:2.3:a:jenkins_project:jenkins_script_security_plugin:*:*:*:*:*:*:*:* confirms the affected component is the Script Security plugin itself, with the affected version boundary given as 1415.v9a_f9b_3a_c253d and earlier; EUVD-2026-80752 mirrors the same affected range.
Know when Jenkins Script Security 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:H/PR:L/UI:N/S:U/C:H/I:H/A:H
Network-reachable JAR URL (AV:N), but requires winning a two-download TOCTOU race (AC:H) and holding classpath-define permission (PR:L); controller-JVM code execution yields full C:H/I:H/A:H.
Primary rating from Vendor (jenkins).
CVSS VectorVendor: jenkins
Lifecycle Timeline
3DescriptionCVE.org
Jenkins Script Security Plugin 1415.v9a_f9b_3a_c253d and earlier downloads a JAR file specified by URL twice, confirming the approval of the first download and loading the classpath entries from the second, allowing attackers able to define classpath entries to execute arbitrary code in the context of the Jenkins controller JVM.
Articles & Coverage 2
Executive ViewAI
The Jenkins Script Security Plugin (versions up to and including 1415.v9a_f9b_3a_c253d) contains a high-severity arbitrary code execution vulnerability that allows an authenticated attacker with permission to define classpath entries to compromise the Jenkins controller. This could lead to unauthorized access to sensitive data, disruption of CI/CD pipelines, and potential supply chain attacks. Given that no vendor patch is currently available, leadership should prioritize immediate mitigation efforts to protect the integrity of the software development lifecycle.
Restrict the permission to define classpath entries to trusted users only; audit and monitor outbound connections and JAR loading; consider disabling the Script Security Plugin if not essential; implement network segmentation for Jenkins controllers; monitor vendor advisory for patch availability.
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
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
Sandbox escape in the Jenkins Script Security Plugin 1415.v9a_f9b_3a_c253d and earlier lets an authenticated user who ho
Arbitrary code execution in Jenkins Script Security Plugin 1415.v9a_f9b_3a_c253d and earlier allows an authenticated att
Sandbox escape in the Jenkins Script Security Plugin (1415.v9a_f9b_3a_c253d and earlier) allows authenticated users with
Sandbox escape leading to arbitrary code execution inside the Jenkins controller JVM affects Script Security Plugin 1415
Sandbox bypass in the Jenkins Script Security Plugin (1402.v94c9ce464861 and earlier) lets users who can supply sandboxe
Sandbox escape in the Jenkins Script Security Plugin (1415.v9a_f9b_3a_c253d and earlier) allows an authenticated Jenkins
Arbitrary code execution in Jenkins Script Security Plugin 1415.v9a_f9b_3a_c253d and earlier: when a user with job-confi
Sandbox escape in Jenkins Script Security Plugin 1415.v9a_f9b_3a_c253d and earlier allows an authenticated Jenkins user
Sandbox escape in Jenkins Script Security Plugin 1402.v94c9ce464861 and earlier allows users permitted to run sandboxed
Improper use of the @DataBoundConstructor annotation in Jenkins Script Security Plugin versions ≤1412.v7737b_3405f86 ena
Jenkins Script Security Plugin 1412.v7737b_3405f86 and earlier allows any low-privileged authenticated Jenkins user to d
Jenkins Script Security Plugin versions up to and including 1399.ve6a_66547f6e1 expose classpath enumeration to any user
EUVD-2026-80752
GHSA-5gc7-28q4-677m
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB