CVE-2023-50766

8.8 HIGH

📋 TL;DR

This CSRF vulnerability in Jenkins Nexus Platform Plugin allows attackers to trick authenticated users into making unintended HTTP requests to attacker-controlled URLs and parse the responses as XML. Attackers could potentially access internal systems or exfiltrate data. Affects Jenkins instances with the vulnerable plugin installed.

💻 Affected Systems

Products:
  • Jenkins Nexus Platform Plugin
Versions: 3.18.0-03 and earlier
Operating Systems: All platforms running Jenkins
Default Config Vulnerable: ⚠️ Yes
Notes: Requires the vulnerable plugin to be installed and enabled. Jenkins instances with the plugin are vulnerable regardless of OS.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could make authenticated requests to internal systems, potentially accessing sensitive data or performing actions on behalf of authenticated users, leading to data exfiltration or system compromise.

🟠

Likely Case

Attackers could redirect authenticated users to malicious sites, parse responses as XML to extract information, or perform limited actions within the Jenkins environment.

🟢

If Mitigated

With proper CSRF protections and network segmentation, impact is limited to unsuccessful attack attempts or contained within isolated network segments.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires tricking an authenticated user into visiting a malicious page. No public exploit code has been disclosed.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 3.18.0-04 or later

Vendor Advisory: https://www.jenkins.io/security/advisory/2023-12-13/#SECURITY-3204

Restart Required: Yes

Instructions:

1. Update Jenkins Nexus Platform Plugin to version 3.18.0-04 or later via Jenkins Plugin Manager. 2. Restart Jenkins after plugin update. 3. Verify the plugin version in Jenkins plugin management interface.

🔧 Temporary Workarounds

Disable vulnerable plugin

all

Temporarily disable the Nexus Platform Plugin if immediate patching isn't possible

Navigate to Jenkins > Manage Jenkins > Manage Plugins > Installed tab > Find 'Nexus Platform Plugin' > Click 'Disable'

Implement CSRF protection headers

all

Add CSRF protection headers to Jenkins responses

Configure Jenkins with CSRF protection enabled in 'Configure Global Security' settings

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate Jenkins from sensitive internal systems
  • Use web application firewalls (WAF) with CSRF protection rules

🔍 How to Verify

Check if Vulnerable:

Check installed plugin version in Jenkins: Manage Jenkins > Manage Plugins > Installed tab > Find 'Nexus Platform Plugin' and check version

Check Version:

curl -s http://jenkins-host/pluginManager/api/json?depth=1 | grep -o '"shortName":"nexus-platform-plugin","version":"[^"]*"'

Verify Fix Applied:

Verify plugin version is 3.18.0-04 or later in Jenkins plugin management interface

📡 Detection & Monitoring

Log Indicators:

  • Unusual HTTP requests to external URLs from Jenkins
  • XML parsing errors or unusual XML responses in logs
  • CSRF token validation failures

Network Indicators:

  • Outbound HTTP requests from Jenkins to unusual external domains
  • XML data being sent to unexpected destinations

SIEM Query:

source="jenkins.log" AND ("nexus-platform-plugin" OR "CSRF" OR "XML parsing")

🔗 References

📤 Share & Export