CVE-2024-34144

9.8 CRITICAL

📋 TL;DR

This vulnerability allows attackers with permission to define and run sandboxed scripts in Jenkins to bypass sandbox protections via crafted constructor bodies, enabling arbitrary code execution on the Jenkins controller. It affects Jenkins instances using Script Security Plugin 1335.vf07d9ce377a_e and earlier. Attackers need script creation permissions but can then achieve full system compromise.

💻 Affected Systems

Products:
  • Jenkins Script Security Plugin
Versions: 1335.vf07d9ce377a_e and earlier
Operating Systems: All platforms running Jenkins
Default Config Vulnerable: ⚠️ Yes
Notes: Requires attacker to have permission to define and run sandboxed scripts (e.g., Pipeline scripts). Default Jenkins installations grant this to administrators.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete compromise of Jenkins controller with full administrative access, data exfiltration, lateral movement to connected systems, and persistent backdoor installation.

🟠

Likely Case

Attackers with existing script permissions gain full control over Jenkins, allowing them to steal credentials, modify pipelines, and access sensitive build artifacts.

🟢

If Mitigated

With strict permission controls limiting who can create scripts, impact is contained to authorized users who become malicious insiders.

🌐 Internet-Facing: HIGH
🏢 Internal Only: HIGH

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploit requires authenticated access with script creation permissions. Public technical details available in advisories.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1335.vf07d9ce377a_e_ and later

Vendor Advisory: https://www.jenkins.io/security/advisory/2024-05-02/#SECURITY-3341

Restart Required: Yes

Instructions:

1. Update Jenkins Script Security Plugin to version 1335.vf07d9ce377a_e_ or later via Jenkins Plugin Manager. 2. Restart Jenkins service. 3. Verify plugin version in Installed Plugins list.

🔧 Temporary Workarounds

Restrict Script Permissions

all

Temporarily remove or restrict permissions for users to define and run sandboxed scripts until patching is complete.

Use Jenkins Role-Based Strategy or Matrix Authorization to remove 'Run/Replay Pipelines' and 'Configure' permissions from non-admin users.

🧯 If You Can't Patch

  • Implement strict access controls to limit script creation permissions to only essential administrators.
  • Monitor Jenkins logs for unusual script execution patterns and review all existing pipeline scripts for malicious code.

🔍 How to Verify

Check if Vulnerable:

Check Jenkins Plugin Manager for Script Security Plugin version. If version is 1335.vf07d9ce377a_e or earlier, system is vulnerable.

Check Version:

Navigate to Jenkins > Manage Jenkins > Plugin Manager > Installed tab, search for 'Script Security Plugin'.

Verify Fix Applied:

Verify Script Security Plugin version is 1335.vf07d9ce377a_e_ or later in Jenkins Plugin Manager.

📡 Detection & Monitoring

Log Indicators:

  • Unusual script execution patterns in Jenkins logs
  • Unexpected constructor body modifications in pipeline scripts
  • Failed sandbox approval requests for constructor-related code

Network Indicators:

  • Unusual outbound connections from Jenkins controller to external systems

SIEM Query:

source="jenkins.log" AND ("sandbox bypass" OR "constructor" OR "CVE-2024-34144")

🔗 References

📤 Share & Export