CVE-2023-43500

8.8 HIGH

📋 TL;DR

This CSRF vulnerability in Jenkins Build Failure Analyzer Plugin allows attackers to trick authenticated users into making unauthorized connections to attacker-controlled servers with specified credentials. It affects Jenkins instances with the vulnerable plugin installed, potentially exposing sensitive data or enabling further attacks.

💻 Affected Systems

Products:
  • Jenkins Build Failure Analyzer Plugin
Versions: 2.4.1 and earlier
Operating Systems: All platforms running Jenkins
Default Config Vulnerable: ⚠️ Yes
Notes: Requires Jenkins with the plugin installed and enabled; exploitation requires user interaction with malicious content.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could exfiltrate Jenkins credentials, access internal systems, or pivot to other network resources using stolen authentication.

🟠

Likely Case

Credential theft leading to unauthorized access to Jenkins or connected systems, potentially disrupting CI/CD pipelines.

🟢

If Mitigated

Limited impact with proper CSRF protections, network segmentation, and credential management in place.

🌐 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 webpage; no authentication bypass needed.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.4.2 or later

Vendor Advisory: https://www.jenkins.io/security/advisory/2023-09-20/#SECURITY-3226

Restart Required: Yes

Instructions:

1. Update Jenkins Build Failure Analyzer Plugin to version 2.4.2 or later via Jenkins Plugin Manager. 2. Restart Jenkins to apply changes.

🔧 Temporary Workarounds

Enable CSRF Protection

all

Ensure Jenkins global security settings have CSRF protection enabled (default in recent versions).

Check Jenkins > Manage Jenkins > Configure Global Security > Enable CSRF Protection

Disable Plugin Temporarily

all

Temporarily disable the Build Failure Analyzer Plugin if immediate patching isn't possible.

Jenkins > Manage Jenkins > Manage Plugins > Installed > Build Failure Analyzer > Disable

🧯 If You Can't Patch

  • Implement network segmentation to restrict Jenkins server outbound connections.
  • Use web application firewalls (WAF) with CSRF protection rules.

🔍 How to Verify

Check if Vulnerable:

Check plugin version in Jenkins: Manage Jenkins > Manage Plugins > Installed > Build Failure Analyzer.

Check Version:

In Jenkins web UI or via CLI: java -jar jenkins-cli.jar -s http://jenkins-url/ list-plugins | grep 'Build Failure Analyzer'

Verify Fix Applied:

Verify plugin version is 2.4.2 or higher after update.

📡 Detection & Monitoring

Log Indicators:

  • Unusual outbound connections from Jenkins to unknown IPs/ports
  • Failed authentication attempts from Jenkins to external services

Network Indicators:

  • Jenkins server making unexpected TCP connections to external hosts on non-standard ports

SIEM Query:

source="jenkins.log" AND ("connection failed" OR "authentication failed") AND dest_ip NOT IN internal_subnets

🔗 References

📤 Share & Export