CVE-2020-2322

7.5 HIGH

📋 TL;DR

The Jenkins Chaos Monkey Plugin vulnerability allows attackers with Overall/Read permission to exploit HTTP endpoints without proper authorization checks. This enables them to generate excessive load and create memory leaks on Jenkins servers. Organizations using Jenkins with this plugin installed are affected.

💻 Affected Systems

Products:
  • Jenkins Chaos Monkey Plugin
Versions: 0.3 and earlier
Operating Systems: All platforms running Jenkins
Default Config Vulnerable: ⚠️ Yes
Notes: Requires Jenkins installation with Chaos Monkey Plugin enabled and users with Overall/Read permission.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could cause denial of service through resource exhaustion, potentially crashing Jenkins servers and disrupting CI/CD pipelines.

🟠

Likely Case

Unauthorized users generating artificial load, degrading Jenkins performance and causing memory issues that require restarts.

🟢

If Mitigated

With proper permission controls and monitoring, impact is limited to minor performance degradation that can be quickly detected and addressed.

🌐 Internet-Facing: MEDIUM
🏢 Internal Only: HIGH

🎯 Exploit Status

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

Exploitation requires authenticated access with Overall/Read permission, which is commonly granted in many Jenkins deployments.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 0.4 or later

Vendor Advisory: https://www.jenkins.io/security/advisory/2020-12-03/#SECURITY-2109%20%281%29

Restart Required: Yes

Instructions:

1. Update Jenkins Chaos Monkey Plugin to version 0.4 or later via Jenkins Plugin Manager. 2. Restart Jenkins service. 3. Verify plugin version in Installed Plugins list.

🔧 Temporary Workarounds

Disable Chaos Monkey Plugin

all

Temporarily disable the vulnerable plugin until patching is possible

Navigate to Jenkins > Manage Jenkins > Manage Plugins > Installed tab
Find Chaos Monkey Plugin and click Disable

Restrict Overall/Read Permissions

all

Limit users with Overall/Read permission to trusted administrators only

Navigate to Jenkins > Manage Jenkins > Configure Global Security
Adjust permission matrix under Authorization section

🧯 If You Can't Patch

  • Implement network segmentation to isolate Jenkins servers from untrusted networks
  • Enable detailed logging and monitoring for unusual load patterns or memory usage spikes

🔍 How to Verify

Check if Vulnerable:

Check installed plugin version in Jenkins: Manage Jenkins > Manage Plugins > Installed tab, look for Chaos Monkey Plugin version

Check Version:

curl -s http://jenkins-server/pluginManager/installed | grep 'chaos-monkey'

Verify Fix Applied:

Verify Chaos Monkey Plugin version is 0.4 or higher in Installed Plugins list

📡 Detection & Monitoring

Log Indicators:

  • Unusual HTTP requests to Chaos Monkey endpoints
  • Sudden memory usage spikes
  • Increased CPU load without corresponding job activity

Network Indicators:

  • Repeated POST/GET requests to /chaos-monkey/* endpoints from non-admin users

SIEM Query:

source="jenkins.log" AND ("chaos-monkey" OR "ChaosMonkey") AND (POST OR GET) AND NOT user="admin"

🔗 References

📤 Share & Export