CVE-2023-37961

8.8 HIGH

📋 TL;DR

A CSRF vulnerability in Jenkins Assembla Auth Plugin 1.14 and earlier allows attackers to trick authenticated users into unknowingly logging into the attacker's Assembla account. This affects Jenkins instances using the Assembla Auth Plugin for authentication. Attackers could gain unauthorized access to Jenkins resources through the victim's session.

💻 Affected Systems

Products:
  • Jenkins Assembla Auth Plugin
Versions: 1.14 and earlier
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects Jenkins instances using Assembla Auth Plugin for authentication. Jenkins installations without this plugin are not vulnerable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers gain administrative access to Jenkins by tricking admins into logging into attacker-controlled Assembla accounts, leading to complete system compromise, data theft, and further attacks.

🟠

Likely Case

Attackers trick regular users into logging into attacker accounts, gaining access to Jenkins projects and sensitive build data they shouldn't have access to.

🟢

If Mitigated

With proper CSRF protections and user awareness, attackers cannot successfully exploit the vulnerability, maintaining normal authentication security.

🌐 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 clicking a malicious link or visiting a compromised website while logged into Jenkins.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.15

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

Restart Required: Yes

Instructions:

1. Update Jenkins Assembla Auth Plugin to version 1.15 or later via Jenkins Plugin Manager. 2. Restart Jenkins after plugin update. 3. Verify plugin version in Manage Jenkins > Manage Plugins.

🔧 Temporary Workarounds

Disable Assembla Auth Plugin

all

Temporarily disable the vulnerable plugin until patching is possible

Navigate to Manage Jenkins > Manage Plugins > Installed tab, find 'Assembla Authentication Plugin', click 'Disable'

Implement CSRF Protection Headers

all

Add CSRF protection headers at reverse proxy/load balancer level

Add 'X-Frame-Options: DENY' and 'Content-Security-Policy: frame-ancestors 'none'' headers

🧯 If You Can't Patch

  • Implement strict SameSite cookie policies for Jenkins sessions
  • Educate users about CSRF risks and safe browsing practices when using Jenkins

🔍 How to Verify

Check if Vulnerable:

Check Jenkins plugin manager for Assembla Auth Plugin version. If version is 1.14 or earlier and plugin is enabled, system is vulnerable.

Check Version:

Check Jenkins web UI: Manage Jenkins > Manage Plugins > Installed tab, or examine $JENKINS_HOME/plugins/assembla-auth.jpi/META-INF/MANIFEST.MF

Verify Fix Applied:

Verify Assembla Auth Plugin version is 1.15 or later in Manage Jenkins > Manage Plugins > Installed tab.

📡 Detection & Monitoring

Log Indicators:

  • Multiple failed authentication attempts from same user with different Assembla accounts
  • Unusual authentication patterns in Jenkins access logs

Network Indicators:

  • HTTP POST requests to /securityRealm/commenceLogin without proper referrer headers
  • Cross-origin requests to Jenkins authentication endpoints

SIEM Query:

source="jenkins.log" AND ("assembla" OR "securityRealm/commenceLogin") AND status=302

🔗 References

📤 Share & Export