CVE-2026-92124
Executive Summary
CVE-2026-92124 is a sandbox bypass vulnerability in the Jenkins Script Security Plugin affecting versions 1415.v9a_f9b_3a_c253d and earlier. Attackers with permission to define and run sandboxed scripts, including Pipelines, can exploit a flaw in how the plugin checks collection type casts, allowing them to execute arbitrary code in the context of the Jenkins controller JVM with a CVSS score of 8.8 (High). This flaw enables an authenticated user with limited privileges to escalate their access to full control over the Jenkins environment, potentially compromising all secrets, credentials, and connected build agents.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Technical Analysis
The Jenkins Script Security Plugin provides a sandbox for Groovy scripts, restricting the operations that scripts can perform to prevent malicious code execution. The vulnerability (CWE-693: Protection Mechanism Failure) lies in the plugin's type casting logic. When a sandboxed script casts a collection to another type, the plugin checks the operations Groovy will perform on the individual elements of that collection. However, the flaw is that the plugin performs the check on the collection itself, rather than on the elements after the cast. This discrepancy allows an attacker to craft a script that bypasses the sandbox's operation restrictions: the plugin validates a benign operation on the collection, but the actual cast transforms the elements (or the collection) such that subsequent operations invoke methods or access properties that should have been blocked. By exploiting this, an attacker can access restricted classes, invoke arbitrary methods, and ultimately execute code within the Jenkins controller JVM.
The vulnerability requires network access (AV:N) and low privileges (PR:L), as the attacker must be authorized to define and run sandboxed scripts. No user interaction (UI:N) is needed, and the scope is unchanged (S:U). The impact on confidentiality, integrity, and availability is high (C:H/I:H/A:H), leading to a base score of 8.8. The exact exploit mechanics depend on Groovy's dynamic dispatch and type coercion, but the core issue is an incomplete security check during collection casting. The patch, if available, would need to ensure that operations are validated against the actual runtime types of elements after any cast, rather than against the original collection type. The plugin version 1415.v9a_f9b_3a_c253d and earlier are affected; no specific fixed version is confirmed by the vendor in the provided data, though NVD indicates a patch exists.
Exploitation Scenarios
No public proof-of-concept or exploit code is available for CVE-2026-92124, so the attack chain is inferred from the vulnerability class and the NVD description. The following steps outline a theoretical exploitation path:
Reconnaissance/target identification: The attacker identifies a Jenkins instance with the Script Security Plugin version 1415.v9a_f9b_3a_c253d or earlier. They require an account with permission to define and run sandboxed scripts, which typically includes users with Job/Configure or similar permissions, or those authorized to create Pipelines. The attacker can verify the plugin version via the Jenkins web UI (e.g., plugin manager) or by inspecting HTTP responses.
Triggering the flaw: The attacker crafts a Groovy script that involves a collection (e.g., a List or Map) and performs a type cast on that collection to a different type. The script then performs operations on the elements that would normally be blocked by the sandbox. Due to the flawed check, the plugin validates the operations based on the original collection's elements (which may be harmless), but after the cast, the elements are interpreted as a different type, allowing the execution of restricted methods or property access. For example, the script might cast a list of strings to a list of a privileged class, then invoke a method that executes system commands.
Payload/execution method: The exact payload depends on the classes available in the Jenkins controller classpath. A successful exploit would allow the attacker to instantiate arbitrary classes, call methods like
Runtime.getRuntime().exec()or use Groovy's metaprogramming to bypass sandbox restrictions. Since this is a sandbox bypass, the payload is executed in the context of the Jenkins controller JVM, with the same privileges as the Jenkins process.Post-exploitation impact: With arbitrary code execution on the Jenkins controller, the attacker can read sensitive files (e.g., credentials.xml, secrets), modify build jobs, pivot to connected agents, install backdoors, or disrupt CI/CD pipelines. This could lead to supply chain attacks, data exfiltration, and full compromise of the Jenkins environment.
No specific function names, class names, or API endpoints are provided in the NVD description, so the above remains at the vulnerability-class level. The attack requires the ability to run sandboxed scripts, which is a common privilege for developers and build engineers.
Impact Assessment
Successful exploitation of CVE-2026-92124 allows an authenticated attacker with low privileges to bypass the Jenkins Script Security sandbox and execute arbitrary code on the Jenkins controller. The CVSS vector (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H) indicates that the attack is network-accessible, requires low privileges, and has high impact on confidentiality, integrity, and availability. The Jenkins controller typically holds sensitive credentials, configuration data, and the ability to deploy code to production environments. Compromise of the controller can lead to a supply chain attack, affecting all projects built by that Jenkins instance. The blast radius includes not only the Jenkins server but also any connected agents, artifact repositories, and downstream systems. Given the EPSS score of 0.00585 (46.6th percentile), the likelihood of exploitation in the wild is currently low, but the severity warrants immediate attention.
Detection Guidance
Sigma Rule
title: Jenkins Script Security Sandbox Bypass Attempt
id: 8a9b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d
status: experimental
description: Detects potential exploitation of CVE-2026-92124 via suspicious Groovy script execution in Jenkins
author: Valters IT
date: 2026-01-01
logsource:
product: jenkins
service: script-security
detection:
selection:
EventID: 'ScriptSecurity'
Message|contains:
- 'cast'
- 'asType'
- 'Collection'
- 'sandbox'
Message|re: '(?i)(bypass|escape|unsafe|forbidden)'
condition: selection
falsepositives:
- Legitimate administrative scripts using type casting
level: high
YARA Rule
rule CVE_2026_92124_Jenkins_Sandbox_Bypass
{
meta:
description = "Detects Groovy scripts attempting to exploit CVE-2026-92124 in Jenkins Script Security Plugin"
author = "Valters IT"
date = "2026-01-01"
reference = "https://nvd.nist.gov/vuln/detail/CVE-2026-92124"
severity = "high"
strings:
$s1 = "asType" ascii wide nocase
$s2 = "Collection" ascii wide nocase
$s3 = "cast" ascii wide nocase
$s4 = "GroovyShell" ascii wide nocase
$s5 = "Runtime.getRuntime().exec" ascii wide nocase
condition:
(uint16(0) == 0x2323 or uint16(0) == 0x2F2F) and
any of ($s*) and
filesize < 1MB
}
Suricata IDS Rule
alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2026-92124 Jenkins Script Security Sandbox Bypass Attempt"; flow:to_server,established; content:"POST"; http_method; content:"/scriptText"; http_uri; content:"script"; http_client_body; content:"asType"; http_client_body; content:"Collection"; http_client_body; classtype:attempted-admin; sid:10000001; rev:1;)
Elastic Detection
process where event.type == "start" and process.parent.name == "java" and process.parent.args : "*jenkins*" and process.command_line : ("*asType*" or "*Collection*" or "*Runtime.getRuntime().exec*")
Splunk SPL Query
index=jenkins sourcetype=jenkins:script-security
| search "ScriptSecurity" AND ("cast" OR "asType" OR "Collection" OR "sandbox")
| rex field=message "(?<script>.*)"
| where match(script, "(?i)(bypass|escape|unsafe|forbidden|asType|Collection)")
| table _time, user, script, message
| sort - _time
Wazuh OSSEC Rule
<group name="jenkins,">
<rule id="100001" level="12">
<decoded_as>json</decoded_as>
<field name="event_type">ScriptSecurity</field>
<match>asType|Collection|cast|bypass</match>
<description>CVE-2026-92124: Potential Jenkins Script Security sandbox bypass attempt</description>
<mitre>
<id>T1190</id>
</mitre>
</rule>
</group>
Mitigation & Patch Guidance
Patch confidence: 2/4 (CLAIMED — single source claims patch (not independently confirmed)).
Immediate mitigations:
- Restrict the ability to define and run sandboxed scripts to only fully trusted users. In Jenkins, this can be achieved by carefully managing permissions (e.g., Job/Configure, Job/Build) and avoiding granting these to untrusted users.
- Disable the Script Security Plugin's sandbox if not needed, though this reduces security overall. Alternatively, consider using the "Groovy sandbox" with strict allowlists if feasible.
- Monitor for suspicious script activity using the detection rules above.
Patch/upgrade steps:
- Upgrade the Jenkins Script Security Plugin to a version later than 1415.v9a_f9b_3a_c253d if a fixed version is available. Verify the fixed version via the official Jenkins plugin repository or security advisory. Since the patch confidence is claimed and not independently confirmed, always test in a staging environment before deploying to production.
- If no fixed version is yet released, consider applying vendor-provided workarounds if any (none listed in this data).
Long-term hardening:
- Implement the principle of least privilege for Jenkins users, ensuring that only necessary personnel have script execution rights.
- Regularly audit and update all Jenkins plugins, and subscribe to Jenkins security advisories.
- Use network segmentation to limit access to the Jenkins controller, and enforce authentication and authorization.
- Consider using an external sandboxing solution or running Jenkins in a container with restricted capabilities.
References
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-92124
- Jenkins Security Advisories: https://www.jenkins.io/security/advisories/
- Jenkins Script Security Plugin: https://plugins.jenkins.io/script-security/
- CWE-693: Protection Mechanism Failure: https://cwe.mitre.org/data/definitions/693.html
- EPSS Score: https://api.first.org/data/v1/epss?cve=CVE-2026-92124
No known threat actor campaigns or exploit-in-the-wild evidence for CVE-2026-92124 are currently available. CISA KEV does not list this CVE.
What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.