Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain Job/Configure or Pipeline-author permission
-
DeliveryAuthor sandboxed Groovy/Pipeline script
-
ExploitCoerce value to interface with inherited same-named method
-
ExecutionInvoke unchecked proxy method
-
PersistEscape Groovy sandbox
-
ImpactExecute arbitrary code in controller JVM
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V15 - Secure Coding and Architecture Protection mechanism completeness
|
| Exploitation Conditions | Exploitation requires an authenticated principal holding permission to define and run sandboxed scripts, including Jenkins Pipelines (typically Job/Configure or Pipeline-authoring rights) - the CVSS PR:L reflects this. The attacker must craft a script that coerces a value to a Java interface where the coerced value inherits a method of the same name as an interface method; the proxy generated by Script Security fails to check that inherited method, which is the exact trigger. Limiting factors: the sandbox-script permission gate means anonymous or read-only users cannot exploit this, SSVC rates it non-automatable (no mass exploitation), and no user interaction is needed once the malicious script runs. Any Jenkins controller running Script Security Plugin ≤ 1415.v9a_f9b_3a_c253d with sandboxed scripting delegated to non-admin users is exposed by default configuration. |
| Impact | This is a genuine RCE-class sandbox escape but its real-world priority is tempered by a hard authorization prerequisite. The vendor CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H = 8.8) reflects network reach, low complexity, and total technical impact once triggered - consistent with the SSVC 'Technical Impact: total' rating. However, three independent low-signal indicators argue against treating this as an emergency: SSVC 'Exploitation: none' (no observed exploitation), SSVC 'Automatable: no' (cannot be sprayed at scale without a valid Jenkins account and script-authoring rights), and the absence of any CISA KEV listing, public POC, or EPSS score at time of analysis. The PR:L in the vector is the decisive limiter - this is exploitable only by a principal who already holds permission to define and run sandboxed Pipelines/scripts, i.e. a semi-trusted insider or a compromised low-privilege developer account, not an anonymous internet attacker. One notable ambiguity: the vendor scored Scope Unchanged (S:U) even though the attack escapes a security-authority boundary (the Groovy sandbox) to execute in the controller JVM security context; a Scope Changed (S:C) reading is defensible and would raise the score. Net: a legitimate high-severity issue that Jenkins operators should patch promptly, but not a drop-everything internet-facing emergency - closer to privilege-escalation-for-insiders than mass-exploitable RCE. |
| Exploit ScenarioDerived | A developer or CI user who has been granted rights to author Jenkins Pipelines (a common delegation in shared CI environments) writes a sandboxed script that coerces an attacker-controlled value to a Java interface where the value inherits a method whose name collides with an interface method. Because the generated proxy fails to check that inherited method, the call escapes the Groovy sandbox and runs arbitrary code in the Jenkins controller JVM, granting full control of the controller and its credentials. No public exploit code or active exploitation has been identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 16, 2026
Sandbox escape in the Jenkins Script Security Plugin 1415.v9a_f9b_3a_c253d and earlier lets an authenticated user who holds permission to define and run sandboxed scripts - including Pipelines - execute arbitrary code in the Jenkins controller JVM, earning a CVSS 3.1 base score of 8.8 (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H). The root cause is a protection-mechanism failure (CWE-693): the sandbox proxy created when a script coerces a value to a Java interface skips the method check when the coerced value inherits a same-named method, so the interface proxy can be used to reach unchecked code. No public exploit code has been identified at time of analysis and CISA SSVC rates the issue non-automatable (Exploitation: none, Automatable: no, Technical Impact: total), so mass exploitation is not expected; the binding prerequisite is the authenticated script-authoring permission reflected by PR:L, which makes this a real but privilege-gated RCE-class risk.
RemediationAI
No exact fixed plugin version is identifiable from the supplied intelligence; the authoritative fix guidance is the Jenkins security advisory at https://www.jenkins.io/security/advisory/2026-09-16/#SECURITY-3929, which should be checked for the patched Script Security Plugin release and then applied through the Jenkins Plugin Manager (or the Update Center / configuration-management tooling), followed by a controller restart as Jenkins requires for plugin updates. Until the upgrade is performed, the most effective compensating control is to restrict who holds the permissions required to define and run sandboxed scripts - remove Job/Configure and Pipeline-authoring rights from untrusted or broad groups and grant them only to vetted administrators, accepting that this constrains legitimate self-service CI/CD use. A secondary control is to keep the Script Security script-approval process strict at Manage Jenkins → In-process Script Approval and to audit the approval list for stale or overly broad entries, though this is detective rather than preventive and will not block a crafted coercion proxy. Disabling the sandbox entirely for untrusted scripts is not a valid mitigation because it trades this bypass for direct unrestricted execution. Because SSVC rates the issue non-automatable and no public exploit has been identified, prioritized patching for controllers with delegated script authoring plus monitoring controller logs for unexpected script-approval activity and anomalous Groovy execution is proportionate to the risk.
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
The Jenkins Script Security Plugin implements the Groovy-based sandbox that governs what Pipeline and other sandboxed scripts are allowed to do on a Jenkins controller, intercepting and approving every method call a script attempts. To enforce this, the plugin wraps values in dynamic proxies when a script coerces (casts) a value to an interface. The defect (CWE-693, Protection Mechanism Failure) is in that proxy's method-dispatch logic: when the coerced value's class inherits a method with the same name as one declared on the target interface, the proxy fails to route that call through the sandbox check. Because the check is skipped for that path, a script author can invoke methods on the underlying object that would normally be blocked, escaping the sandbox and gaining arbitrary code execution in the Jenkins controller JVM. The CPE cpe:2.3:a:jenkins_project:jenkins_script_security_plugin identifies the affected component as the standalone Script Security Plugin rather than Jenkins core, and EUVD describes the affected range as "0 ≤ 1415.v9a_f9b_3a_c253d", i.e. every release of the plugin up to and including build 1415.v9a_f9b_3a_c253d. The exposure surface mirrors the plugin's reach: any Jenkins controller running an affected plugin version where sandboxed scripting (notably Pipelines) is authored by non-administrative users meets the attacker's prerequisite of permission to define and run sandboxed scripts.
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:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Network-reachable Jenkins UI with low-complexity trigger; PR:L because the attacker must already hold sandbox-script/Pipeline-author rights; controller-JVM RCE yields full C/I/A; S:U per vendor though S:C is defensible.
Primary rating from Vendor (jenkins).
CVSS VectorVendor: jenkins
Lifecycle Timeline
3DescriptionCVE.org
Jenkins Script Security Plugin 1415.v9a_f9b_3a_c253d and earlier does not check the method called through the proxy created when a sandboxed script coerces a value to an interface, if the value inherits a method of the same name as an interface method, allowing attackers with permission to define and run sandboxed scripts, including Pipelines, to bypass the sandbox protection and execute arbitrary code in the context of the Jenkins controller JVM.
Articles & Coverage 1
Executive ViewAI
A sandbox escape in the Jenkins Script Security Plugin (versions 1415.v9a_f9b_3a_c253d and earlier) lets an authenticated user who can define and run sandboxed scripts execute arbitrary code inside the Jenkins controller JVM, effectively handing over the CI/CD control plane. Because Jenkins controllers typically hold build credentials, deployment keys, and connectivity to production systems, a successful exploit could cascade into supply-chain or downstream system compromise. No public exploit code or confirmed active exploitation has been identified and the attack is gated by a privileged script-authoring permission, but the flaw is currently unpatched and warrants prioritized remediation by teams running Jenkins.
No vendor-released patch identified at time of analysis; restrict script-authoring and script-approval permissions (Job/Configure, In-process Script Approval) to a minimal set of trusted administrators, audit and revoke excess grants, enforce the In-process Script Approval workflow, and monitor Jenkins controller logs for unauthorized script execution.
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.
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
Arbitrary code execution in the Jenkins Script Security Plugin (versions up to and including 1415.v9a_f9b_3a_c253d) lets
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-80746
GHSA-mp2j-5q5c-r5r7
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB