CVE-2024-52550

8.0 HIGH

📋 TL;DR

This vulnerability in Jenkins Pipeline: Groovy Plugin allows attackers with Item/Build permission to rebuild previous builds using unapproved Jenkinsfile scripts. This bypasses script approval security controls, potentially executing malicious code. Users of affected Jenkins instances with the vulnerable plugin are at risk.

💻 Affected Systems

Products:
  • Jenkins Pipeline: Groovy Plugin
Versions: 3990.vd281dd77a_388 and earlier, except 3975.3977.v478dd9e956c3
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Requires Item/Build permission to exploit. Jenkins instances using Pipeline jobs with script approval enabled are affected.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could execute arbitrary code on Jenkins controllers, potentially compromising the entire CI/CD pipeline, stealing credentials, or deploying malicious artifacts.

🟠

Likely Case

Privileged users could bypass script approval controls to run unauthorized pipeline scripts, leading to unauthorized actions within Jenkins jobs.

🟢

If Mitigated

With strict access controls and monitoring, impact is limited to authorized users misusing their permissions within expected boundaries.

🌐 Internet-Facing: MEDIUM
🏢 Internal Only: HIGH

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires authenticated access with Item/Build permissions. The vulnerability is straightforward to exploit once authenticated.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 3991.vd281dd77a_388 or later

Vendor Advisory: https://www.jenkins.io/security/advisory/2024-11-13/#SECURITY-3362

Restart Required: Yes

Instructions:

1. Update Jenkins Pipeline: Groovy Plugin to version 3991.vd281dd77a_388 or later via Jenkins Plugin Manager. 2. Restart Jenkins to apply the update.

🔧 Temporary Workarounds

Restrict Item/Build Permissions

all

Limit Item/Build permissions to trusted users only to reduce attack surface.

Disable Rebuild Functionality

all

Remove rebuild permissions or disable rebuild functionality for pipeline jobs.

🧯 If You Can't Patch

  • Restrict Item/Build permissions to minimal necessary users.
  • Implement strict monitoring of rebuild actions and script approvals in audit logs.

🔍 How to Verify

Check if Vulnerable:

Check Jenkins plugin version: Go to Manage Jenkins > Manage Plugins > Installed tab, find 'Pipeline: Groovy Plugin' and verify version.

Check Version:

No direct CLI command; check via Jenkins web UI at Manage Jenkins > Manage Plugins.

Verify Fix Applied:

Confirm plugin version is 3991.vd281dd77a_388 or later in Jenkins Plugin Manager.

📡 Detection & Monitoring

Log Indicators:

  • Unusual rebuild actions of pipeline jobs, especially by users not typically performing rebuilds.
  • Script approval logs showing approvals for previously unapproved scripts during rebuilds.

Network Indicators:

  • HTTP POST requests to rebuild endpoints without corresponding script approval checks.

SIEM Query:

source="jenkins.log" AND ("rebuild" OR "script approval") AND status="success"

🔗 References

📤 Share & Export