CVE-2019-10392 Improper Neutralization of Special Elements used in an OS Command in Jenkins Git Client Plugin
Attackers can execute arbitrary OS commands via crafted URLs in the Jenkins Git Client Plugin, requiring an upgrade to remediate.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2019-10392?
CVE-2019-10392 is a high-severity command injection vulnerability in Jenkins Git Client Plugin, published on 12 Sep 2019. Any signed-in user can exploit it over the network, with no action from the victim.
Official description
Jenkins Git Client Plugin 2.8.4 and earlier and 3.0.0-rc did not properly restrict values passed as URL argument to an invocation of 'git ls-remote', resulting in OS command injection.
Weakness: CWE-78
Which versions are affected by CVE-2019-10392?
2 open source packages ship an affected version, including org.jenkins-ci.plugins:git-client. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
org.jenkins-ci.plugins:git-client Maven | All versions | 2.8.5 |
org.jenkins-ci.plugins:git-client Maven | All versions | 2.8.5 |
Linux distribution packages (38)
atomic-enterprise-service-catalog Red Hat:openshift:4.1::el7 | All versions | 1:4.1.37-202003020601.git.0.5784dc4.el7 |
atomic-enterprise-service-catalog-svcat Red Hat:openshift:4.1::el7 | All versions | 1:4.1.37-202003020601.git.0.5784dc4.el7 |
cri-o Red Hat:openshift:4.1::el7 | All versions | 0:1.13.12-6.dev.rhaos4.1.git8abaaeb.el7 |
cri-o-debuginfo Red Hat:openshift:4.1::el7 | All versions | 0:1.13.12-6.dev.rhaos4.1.git8abaaeb.el7 |
jenkins Red Hat:openshift:4.1::el7 | All versions | 0:2.204.2.1583849753-1.el7 |
jenkins-2-plugins Red Hat:openshift:4.1::el7 | All versions | 0:4.1.1583850385-1.el7 |
openshift Red Hat:openshift:4.1::el7 | All versions | 0:4.1.37-202002280447.git.0.543873e.el7 |
openshift-ansible Red Hat:openshift:4.1::el7 | All versions | 0:4.1.37-202002280447.git.1.bb180eb.el7 |
openshift-clients Red Hat:openshift:4.1::el7 | All versions | 0:4.1.37-202002280447.git.0.543873e.el7 |
openshift-clients-redistributable Red Hat:openshift:4.1::el7 | All versions | 0:4.1.37-202002280447.git.0.543873e.el7 |
openshift-hyperkube Red Hat:openshift:4.1::el7 | All versions | 0:4.1.37-202002280447.git.0.543873e.el7 |
containers-common Red Hat:openshift:4.1::el8 | All versions | 1:0.1.32-6.git1715c90.el8_0 |
cri-o Red Hat:openshift:4.1::el8 | All versions | 0:1.13.12-6.dev.rhaos4.1.git8abaaeb.el8_0 |
cri-o-debuginfo Red Hat:openshift:4.1::el8 | All versions | 0:1.13.12-6.dev.rhaos4.1.git8abaaeb.el8_0 |
cri-o-debugsource Red Hat:openshift:4.1::el8 | All versions | 0:1.13.12-6.dev.rhaos4.1.git8abaaeb.el8_0 |
openshift Red Hat:openshift:4.1::el8 | All versions | 0:4.1.37-202002280447.git.0.543873e.el8_0 |
openshift-clients Red Hat:openshift:4.1::el8 | All versions | 0:4.1.37-202002280447.git.0.543873e.el8_0 |
openshift-clients-redistributable Red Hat:openshift:4.1::el8 | All versions | 0:4.1.37-202002280447.git.0.543873e.el8_0 |
openshift-hyperkube Red Hat:openshift:4.1::el8 | All versions | 0:4.1.37-202002280447.git.0.543873e.el8_0 |
podman Red Hat:openshift:4.1::el8 | All versions | 0:1.0.2-3.dev.git96ccc2e.el8_0 |
podman-debuginfo Red Hat:openshift:4.1::el8 | All versions | 0:1.0.2-3.dev.git96ccc2e.el8_0 |
podman-debugsource Red Hat:openshift:4.1::el8 | All versions | 0:1.0.2-3.dev.git96ccc2e.el8_0 |
podman-docker Red Hat:openshift:4.1::el8 | All versions | 0:1.0.2-3.dev.git96ccc2e.el8_0 |
runc Red Hat:openshift:4.1::el8 | All versions | 0:1.0.0-63.rc8.rhaos4.1.git3cbe540.el8_0 |
runc-debuginfo Red Hat:openshift:4.1::el8 | All versions | 0:1.0.0-63.rc8.rhaos4.1.git3cbe540.el8_0 |
runc-debugsource Red Hat:openshift:4.1::el8 | All versions | 0:1.0.0-63.rc8.rhaos4.1.git3cbe540.el8_0 |
skopeo Red Hat:openshift:4.1::el8 | All versions | 1:0.1.32-6.git1715c90.el8_0 |
skopeo-debuginfo Red Hat:openshift:4.1::el8 | All versions | 1:0.1.32-6.git1715c90.el8_0 |
skopeo-debugsource Red Hat:openshift:4.1::el8 | All versions | 1:0.1.32-6.git1715c90.el8_0 |
atomic-enterprise-service-catalog Red Hat:openshift:4.2::el7 | All versions | 1:4.2.20-202002170402.git.1.159e2f5.el7 |
atomic-enterprise-service-catalog-svcat Red Hat:openshift:4.2::el7 | All versions | 1:4.2.20-202002170402.git.1.159e2f5.el7 |
atomic-openshift-service-idler Red Hat:openshift:4.2::el7 | All versions | 0:4.2.20-202002170402.git.1.43218bc.el7 |
cri-o Red Hat:openshift:4.2::el7 | All versions | 0:1.14.12-19.dev.rhaos4.2.git313d784.el7 |
jenkins Red Hat:openshift:4.2::el7 | All versions | 0:2.204.1.1581951349-1.el7 |
jenkins-2-plugins Red Hat:openshift:4.2::el7 | All versions | 0:4.2.1581952573-1.el7 |
openshift Red Hat:openshift:4.2::el7 | All versions | 0:4.2.20-202002140432.git.0.47933cb.el7 |
openshift-ansible Red Hat:openshift:4.2::el7 | All versions | 0:4.2.20-202002140432.git.187.2308b53.el7 |
openshift-clients Red Hat:openshift:4.2::el7 | All versions | 0:4.2.20-202002140432.git.1.5dc67c9.el7 |
Products include Jenkins Git Client.
How do I fix CVE-2019-10392?
Upgrade org.jenkins-ci.plugins:git-client to 2.8.5 or later.
Upgrade, and pass arguments to programs as a list instead of through a shell. More about Command injection.
Is CVE-2019-10392 being exploited?
There is no known exploitation of CVE-2019-10392 in the wild and no public exploit code.
Public exploit code: 3 proofs of concept on GitHub.
Other vulnerabilities in Jenkins Git Client Plugin
- CVE-2022-36881 Jenkins Git client plugin 3.11.0 does not perform SSH host key verification
- CVE-2026-57282 Jenkins Git client Plugin has an OS command injection vulnerability on agents
- CVE-2025-67640 Jenkins Git client Plugin has an OS command injection vulnerability on agents in Git client Plugin
- CVE-2025-58458 Jenkins Git client Plugin file system information disclosure vulnerability
- CVE-2017-1000242 Insecure temporary file usage in Jenkins Git Client Plugin
Sources
Also known as GHSA-hw6x-2qwv-rxr7, RHBA-2020:0522, RHBA-2020:0690.