CVE-2024-47805

7.5 HIGH

📋 TL;DR

The Jenkins Credentials Plugin vulnerability exposes encrypted credential values stored as SecretBytes when accessing item configuration files via REST API or CLI. This allows authenticated users with appropriate permissions to retrieve sensitive encrypted data that should remain redacted. Organizations using affected Jenkins instances with the Credentials Plugin are impacted.

💻 Affected Systems

Products:
  • Jenkins Credentials Plugin
Versions: 1380.va_435002fa_924 and earlier, except 1371.1373.v4eb_fa_b_7161e9
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Requires authenticated access to Jenkins REST API or CLI with permissions to access item config.xml files.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers with authenticated access could extract encrypted credential values, potentially decrypting them to gain unauthorized access to sensitive systems and data.

🟠

Likely Case

Authorized users with item configuration access could inadvertently or intentionally view encrypted credential values that should be hidden, compromising credential security.

🟢

If Mitigated

With proper access controls and network segmentation, only trusted administrators could access the vulnerable endpoints, limiting exposure.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires authenticated access and knowledge of REST API endpoints or CLI commands.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1380.va_435002fa_925 or later

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

Restart Required: Yes

Instructions:

1. Update Jenkins Credentials Plugin to version 1380.va_435002fa_925 or later via Jenkins Plugin Manager. 2. Restart Jenkins instance. 3. Verify plugin version after restart.

🔧 Temporary Workarounds

Restrict API and CLI Access

all

Limit access to Jenkins REST API and CLI to only trusted administrators who require it for operations.

Configure Jenkins security matrix to restrict 'Overall/Read' and 'Job/Configure' permissions

🧯 If You Can't Patch

  • Implement strict access controls to limit who can access Jenkins REST API and CLI endpoints
  • Monitor and audit access to item configuration files and REST API endpoints for suspicious activity

🔍 How to Verify

Check if Vulnerable:

Check Jenkins Credentials Plugin version in Manage Jenkins > Plugin Manager. If version is 1380.va_435002fa_924 or earlier (except 1371.1373.v4eb_fa_b_7161e9), system is vulnerable.

Check Version:

curl -s http://jenkins-host/pluginManager/installed | grep -A2 'credentials'

Verify Fix Applied:

Verify plugin version is 1380.va_435002fa_925 or later after update. Test accessing item config.xml via REST API to confirm encrypted values are properly redacted.

📡 Detection & Monitoring

Log Indicators:

  • Unusual access patterns to /job/*/config.xml endpoints
  • Multiple failed authentication attempts followed by successful config.xml access

Network Indicators:

  • HTTP requests to Jenkins REST API config.xml endpoints from unexpected sources

SIEM Query:

source="jenkins.log" AND (uri_path="/job/*/config.xml" OR uri_path="/api/xml") AND (http_method="GET" OR http_method="POST")

🔗 References

📤 Share & Export