CVE-2022-30947
📋 TL;DR
The Jenkins Git Plugin vulnerability allows attackers with pipeline configuration permissions to access limited information from other projects' SCM repositories stored on the Jenkins controller's file system. This occurs when attackers can configure pipelines to check out SCM repositories using local file paths as SCM URLs. Affected users are those running Jenkins with the Git Plugin where pipeline configuration is accessible to untrusted users.
💻 Affected Systems
- Jenkins Git Plugin
📦 What is this software?
Git by Jenkins
⚠️ Risk & Real-World Impact
Worst Case
Attackers could access sensitive source code, configuration files, or credentials stored in other projects' SCM repositories, potentially leading to intellectual property theft or further system compromise.
Likely Case
Limited information disclosure from other projects' SCM contents, potentially exposing source code or configuration details that could aid in further attacks.
If Mitigated
With proper access controls and pipeline configuration restrictions, the impact is minimal as only authorized users can configure pipelines.
🎯 Exploit Status
Exploitation requires pipeline configuration access. The vulnerability is well-documented in security advisories.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Git Plugin 4.11.2 or later
Vendor Advisory: https://www.jenkins.io/security/advisory/2022-05-17/#SECURITY-2478
Restart Required: Yes
Instructions:
1. Update Jenkins Git Plugin to version 4.11.2 or later via Jenkins Plugin Manager. 2. Restart Jenkins to apply the update. 3. Verify the plugin version is updated.
🔧 Temporary Workarounds
Restrict Pipeline Configuration Access
allLimit who can configure pipelines to trusted users only using Jenkins' Role-Based Access Control (RBAC).
Disable Local SCM Paths
allConfigure Jenkins to prevent use of local file paths as SCM URLs in pipeline configurations.
🧯 If You Can't Patch
- Implement strict access controls to limit pipeline configuration to trusted administrators only.
- Monitor pipeline configuration changes and audit SCM repository access patterns for suspicious activity.
🔍 How to Verify
Check if Vulnerable:
Check Jenkins Git Plugin version via Jenkins Plugin Manager or by examining the plugin's MANIFEST.MF file. If version is 4.11.1 or earlier, the system is vulnerable.
Check Version:
Check Jenkins web interface: Manage Jenkins > Plugin Manager > Installed plugins, or check file: $JENKINS_HOME/plugins/git/META-INF/MANIFEST.MF
Verify Fix Applied:
Verify Git Plugin version is 4.11.2 or later in Jenkins Plugin Manager. Test that local SCM paths cannot be used to access unauthorized repositories.
📡 Detection & Monitoring
Log Indicators:
- Unusual pipeline configuration changes
- SCM checkout operations using local file paths
- Access to SCM repositories outside normal project scope
Network Indicators:
- N/A - This is a local file system access vulnerability
SIEM Query:
Search Jenkins logs for: 'SCM checkout' AND 'file://' OR 'local path' patterns in pipeline configurations