Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate with script-defining permission
-
DeliverySubmit Pipeline with @GroovyASTTransformationClass annotation
-
ExploitAST transformation runs at compile time
-
ExecutionEscape Groovy sandbox
-
PersistExecute arbitrary code in controller JVM
-
ImpactHarvest credentials and control Jenkins
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Code injection prevention, sandbox exec
MITRE ATT&CK
2 techniques across 2 tactics: Execution, Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires an authenticated Jenkins user holding permission to define and run sandboxed scripts, including Pipelines (typically Job/Configure or equivalent script-submission rights) on an instance running Script Security Plugin 1415.v9a_f9b_3a_c253d or earlier. No user interaction or non-default configuration is needed beyond the standard sandbox/Pipeline feature being usable by the attacker; the sandbox itself is the control being bypassed. The limiting factor is the account permission (PR:L) - anonymous or read-only users without script-execution rights cannot trigger it - making this an authenticated sandbox-to-RCE escalation rather than a fully unauthenticated remote exploit. |
| Impact | This is a genuine high-priority vulnerability, not CVSS inflation. The provided vector CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H (8.8) describes a network-reachable, low-complexity sandbox escape that yields arbitrary code execution in the Jenkins controller JVM - the crown jewel of a CI/CD environment (credentials, secrets, build agents, deployment keys). PR:L is accurate and material: the attacker needs a valid Jenkins account holding permission to define and run sandboxed scripts/Pipelines (e.g., Job/Configure or Overall/Read plus workspace access), so this is an authenticated privilege-escalation from a constrained sandbox to full controller RCE rather than a pure anonymous exploit. No EPSS, KEV, POC, or SSVC data was supplied, so exploitation status is 'no public exploit identified at time of analysis'; absence of these signals is not evidence of low risk, because Script Security sandbox bypasses are a recurring, heavily weaponized class in Jenkins and the technique (a rejected-annotation gap) is straightforward to reproduce from the advisory. One caveat worth verifying: the vendor scores scope S:U, but escaping a sandbox to execute in the controller JVM arguably crosses a security authority boundary (S:C) - this does not change the operational severity but is noted for transparency. |
| Exploit ScenarioDerived | An attacker who already holds a low-privileged Jenkins account with permission to create and run a sandboxed Pipeline submits a Groovy script bearing the @GroovyASTTransformationClass annotation, which the plugin fails to reject. At Groovy compile time the attached AST transformation executes outside the sandbox, running arbitrary Java/Groovy in the controller JVM and letting the attacker dump stored credentials, pivot to build agents, or take over the Jenkins instance. No public exploit is identified at time of analysis, but the mechanism is fully described in the advisory and trivially reproducible. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 16, 2026
Sandbox escape leading to arbitrary code execution inside the Jenkins controller JVM affects Script Security Plugin 1415.v9a_f9b_3a_c253d and earlier because the plugin fails to reject the @GroovyASTTransformationClass annotation in script source. An authenticated Jenkins user with permission to define and run sandboxed scripts, including Pipelines (the CVSS vector carries PR:L), can submit a script that registers a Groovy AST transformation executed at compile time, before the sandbox applies, resulting in high confidentiality, integrity, and availability impact on the controller; our independent assessment scores this 8.8 with a scope change (S:C) rather than the provider's S:U. No public exploit code was identified at time of analysis and the issue is not listed in CISA KEV, but for any account holding script-submission rights the exploit path is direct rather than theoretical, so the practical risk concentrates on instances that grant Job/Configure or equivalent Pipeline-authoring rights broadly. This is a genuine high-priority vulnerability, not CVSS inflation: the sandbox itself, not a misconfiguration, is the control being bypassed.
RemediationAI
Primary remediation is to upgrade the Jenkins Script Security Plugin to the fixed release named in Jenkins Security Advisory 2026-09-16, SECURITY-3925 (https://www.jenkins.io/security/advisory/2026-09-16/#SECURITY-3925%20(1)); the exact fixed plugin version should be taken from that advisory, since it is not present in the data available for this analysis - patch status is therefore best described as "vendor advisory available, fixed version to be confirmed from the advisory" rather than assumed. Until the upgrade is applied, the only meaningful compensating control is permission reduction: remove Job/Configure and any equivalent script-definition or Pipeline-authoring rights from untrusted, shared, or service accounts so that sandboxed-script submission is limited to a small trusted group, accepting the trade-off that those users can no longer create or edit Pipeline jobs. Uninstalling the Script Security Plugin or disabling Pipeline outright does close the hole but is impractical for most installations because the plugin is a dependency of Pipeline and numerous other plugins, and the In-process Script Approval facility offers no protection here because the malicious AST transformation executes during Groovy compilation, before sandbox checks and before any approval prompt; running builds on agents instead of the controller likewise does not help, since the payload runs in the controller JVM. Also note that this is an authenticated, sandbox-bypassing path, so anonymous-read or read-only accounts cannot trigger it - audit and tighten Job/Configure grants accordingly, enable auditing of script submissions for detection, and treat rapid controller patching as the core defense. Additional tracking references: https://nvd.nist.gov/vuln/detail/CVE-2026-92125 and https://seclists.org/oss-sec/2026/q3/802.
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 sandbox used by Pipeline and other script-driven features, approving or rejecting classes, methods, and annotations that scripts attempt to use (CWE-94, improper neutralization of code-generation constructs). Groovy supports AST transformations: classes annotated with @GroovyASTTransformationClass declare a transformation that Groovy applies during compilation of the script itself, changing the generated bytecode before any runtime sandbox instrumentation or In-process Script Approval check can intervene. Because the plugin's denylist for the 1415.v9a_f9b_3a_c253d release and earlier did not include this annotation, a low-privileged but script-capable account could attach an attacker-chosen transformation class to a script and have its logic run in the Jenkins controller JVM with the controller's privileges - the compile-time execution point is what defeats the runtime sandbox. The affected component is tracked as CPE cpe:2.3:a:jenkins_project:jenkins_script_security_plugin:*:*:*:*:*:*:*:* and as EUVD-2026-80749, and the attack is network-reachable (AV:N) with no user interaction (UI:N), the limiting prerequisite being the authenticated script-definition permission. Our assessment differs from the published vector only in scope, rating S:C because a successful compile-time transformation escapes the script sandbox boundary and reaches the whole controller process, while the provider retained S:U.
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 low-privilege user escapes the Groovy sandbox to run arbitrary code in the controller JVM; the sandbox-to-controller boundary crossing justifies S:C, with full C/I/A on the controller.
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 reject the @GroovyASTTransformationClass annotation, allowing attackers with permission to define and run sandboxed scripts, including Pipelines, to run an arbitrary AST transformation at compile time, bypassing the sandbox protection and executing arbitrary code in the context of the Jenkins controller JVM.
Articles & Coverage 2
Executive ViewAI
Jenkins controllers running Script Security Plugin 1415.v9a_f9b_3a_c253d or earlier are exposed to a sandbox escape that lets an authenticated user who can author or run sandboxed Pipeline scripts execute arbitrary code inside the controller JVM. Because the controller stores build credentials, deployment keys and the pipeline logic for the entire delivery chain, one such user could compromise the integrity of every build and secret the controller manages, and no public exploit identified at time of analysis does not reduce that exposure since the exploit path is direct for anyone holding script-submission rights. No vendor-released patch identified at time of analysis, so leadership should treat this as a standing architectural risk requiring privilege reduction now rather than a routine patch-wait.
No vendor-released patch identified at time of analysis. Interim mitigations: restrict script authoring, Job/Configure and script-approval rights to a small, named, trusted group and remove standing rights from all other authenticated users, since a valid account with script-submission rights is the prerequisite for exploitation (CVSS PR:L); enforce the Groovy sandbox on all Pipeline jobs and eliminate blanket or permanent script approvals that let unvetted Groovy reach compile time; harden the controller itself by removing direct internet exposure, restricting network reachability and keeping untrusted agents off the controller; enable audit logging and alerting on script compile and approval events; rotate controller-held credentials and review job and pipeline definitions for tampering; and, where the controller cannot be adequately restricted, evaluate temporarily disabling Pipeline or scripted job 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
Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.
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 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-80749
GHSA-m49g-xg2m-9766
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB