CVE-2022-34792

8.0 HIGH

📋 TL;DR

This CSRF vulnerability in Jenkins Recipe Plugin allows attackers to trick authenticated users into making unintended HTTP requests to attacker-controlled URLs and parse the responses as XML. It affects Jenkins instances with Recipe Plugin 1.2 or earlier installed. Attackers could potentially access sensitive data or perform actions on behalf of authenticated users.

💻 Affected Systems

Products:
  • Jenkins Recipe Plugin
Versions: 1.2 and earlier
Operating Systems: All platforms running Jenkins
Default Config Vulnerable: ⚠️ Yes
Notes: Requires Recipe Plugin to be installed and enabled. Jenkins itself must be accessible to attackers.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could steal sensitive data from internal systems, perform server-side request forgery (SSRF) attacks, or execute actions on behalf of authenticated Jenkins users with their permissions.

🟠

Likely Case

Data exfiltration from internal systems accessible to the Jenkins server, or limited impact depending on network segmentation and user permissions.

🟢

If Mitigated

Minimal impact if proper CSRF protections, network segmentation, and least-privilege principles are implemented.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires tricking authenticated users into visiting malicious pages. No authentication bypass needed.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Recipe Plugin 1.3 or later

Vendor Advisory: https://www.jenkins.io/security/advisory/2022-06-30/#SECURITY-2000

Restart Required: Yes

Instructions:

1. Update Jenkins Recipe Plugin to version 1.3 or later via Jenkins Plugin Manager. 2. Restart Jenkins service after update. 3. Verify plugin version in Installed Plugins list.

🔧 Temporary Workarounds

Disable Recipe Plugin

all

Temporarily disable the vulnerable plugin until patching is possible

Navigate to Jenkins > Manage Jenkins > Manage Plugins > Installed tab > Find Recipe Plugin > Disable

Implement CSRF Protection

all

Enable Jenkins built-in CSRF protection (Crumb Issuer)

Navigate to Jenkins > Manage Jenkins > Configure Global Security > Enable 'Prevent Cross Site Request Forgery exploits'

🧯 If You Can't Patch

  • Implement strict network segmentation to limit Jenkins server's outbound connections
  • Apply principle of least privilege to Jenkins service accounts and user permissions

🔍 How to Verify

Check if Vulnerable:

Check installed Recipe Plugin version in Jenkins > Manage Jenkins > Manage Plugins > Installed tab

Check Version:

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

Verify Fix Applied:

Verify Recipe Plugin version is 1.3 or higher in Installed Plugins list

📡 Detection & Monitoring

Log Indicators:

  • Unusual outbound HTTP requests from Jenkins server
  • Recipe Plugin XML parsing errors
  • CSRF token validation failures

Network Indicators:

  • Jenkins server making unexpected HTTP requests to external domains
  • XML responses being sent to Jenkins from unusual sources

SIEM Query:

source="jenkins.log" AND ("recipe" OR "CSRF" OR "XML") AND ("error" OR "failed" OR "unauthorized")

🔗 References

📤 Share & Export