← Vulnerability feed

Vulnerability record · CVE-2018-17456 · published 6 October 2018

CVE-2018-17456: Git recursive clone argument injection enables remote code execution

Git Scm · Git

Git versions before the fixed releases mishandle a .gitmodules URL field that begins with a '-' character during recursive 'git clone' of a superproject. Because the URL is passed to the underlying git command without proper argument separation, an attacker-controlled repository can inject command-line options and achieve code execution. The flaw affects a core developer tool used across Linux distributions and enterprise platforms, so exposure is broad wherever untrusted repositories are cloned.

9.8 CVSS 3.0 Critical EPSS 97% · top 0.1% CWE-88 · Argument injection
9.8CVSS 3.0 base score, v2 7.5
97%EPSS exploitation probability, 30 days
NoNot in CISA KEV
11Affected product versions listed by NVD
36References, 4 tagged exploit
17 Jun 2026Last modified by NVD

Description

Git before 2.14.5, 2.15.x before 2.15.3, 2.16.x before 2.16.5, 2.17.x before 2.17.2, 2.18.x before 2.18.1, and 2.19.x before 2.19.1 allows remote code execution during processing of a recursive "git clone" of a superproject if a .gitmodules file has a URL field beginning with a '-' character.

CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Automated analysis

Generated by VULONE's analysis model from the NVD record, CISA KEV and EPSS data on 17 September 2026. Confidence: high.

critical priorityCVSS 9.8 with network reachability, no privileges and public exploit code, combined with Git's ubiquity in development and build environments, makes this a critical patching priority despite its absence from KEV.

What it is

Git versions before the fixed releases mishandle a .gitmodules URL field that begins with a '-' character during recursive 'git clone' of a superproject. Because the URL is passed to the underlying git command without proper argument separation, an attacker-controlled repository can inject command-line options and achieve code execution. The flaw affects a core developer tool used across Linux distributions and enterprise platforms, so exposure is broad wherever untrusted repositories are cloned.

Impact

An attacker who controls a repository the victim clones recursively can execute arbitrary code with the victim's privileges, leading to full compromise of confidentiality, integrity and availability on the affected host.

Attack surface

Reached over the network when a user or automated system runs a recursive clone of an attacker-supplied superproject; no authentication is required, but the victim must initiate the clone, so some user or process interaction is needed. The CVSS vector reflects network reachability with no privileges and no UI, though in practice the clone action is the trigger.

Exploitation

EPSS is very high (0.97356, 99.894th percentile) and public exploit code exists in Exploit-DB, but the CVE is not listed in CISA KEV and no ransomware groups are documented using it.

What to do

  • Upgrade Git to 2.14.5, 2.15.3, 2.16.5, 2.17.2, 2.18.1, 2.19.1 or later, and apply the vendor errata for Red Hat, Ubuntu and Debian packages.
  • Avoid recursive cloning of untrusted or unvetted repositories; review .gitmodules before cloning submodules.
  • Reject or sanitize .gitmodules URL values that begin with a '-' character in repository intake and CI pipelines.
  • Restrict outbound network access and execution privileges for build and CI systems that perform automated clones.
  • Monitor Git client versions across developer and build fleets and enforce a minimum patched version.

Detection

  • Search Git server and CI logs for recursive clone operations against repositories containing .gitmodules entries whose URL begins with '-'.
  • Alert on unexpected child processes spawned by git clone or git submodule update on developer and build hosts.
  • Scan checked-out repositories and CI workspaces for .gitmodules files with leading-dash URL fields.
  • Track Git client version inventory to identify hosts still running vulnerable releases.

This assessment is produced automatically and is not human-reviewed. Verify against the vendor advisory before acting on it.

Affected products

11 vulnerable configurations from NVD's CPE data, grouped by vendor and product.

References

LinkTags
http://lists.opensuse.org/opensuse-security-announce/2020-05/msg00003.html
http://packetstormsecurity.com/files/152173/Sourcetree-Git-Arbitrary-Code-Execution-URL-Handling.html Third Party AdvisoryVDB Entry
http://www.securityfocus.com/bid/105523 Third Party AdvisoryVDB Entry
http://www.securityfocus.com/bid/107511 Third Party AdvisoryVDB Entry
http://www.securitytracker.com/id/1041811 Third Party AdvisoryVDB Entry
https://access.redhat.com/errata/RHSA-2018:3408 Third Party Advisory
https://access.redhat.com/errata/RHSA-2018:3505 Third Party Advisory
https://access.redhat.com/errata/RHSA-2018:3541 Third Party Advisory
https://access.redhat.com/errata/RHSA-2020:0316
https://github.com/git/git/commit/1a7fd1fb2998002da6e9ff2ee46e1bdd25ee8404 PatchThird Party Advisory
https://github.com/git/git/commit/a124133e1e6ab5c7a9fef6d0e6bcb084e3455b46 PatchThird Party Advisory
https://marc.info/?l=git&m=153875888916397&w=2 Third Party Advisory
https://seclists.org/bugtraq/2019/Mar/30 Mailing ListThird Party Advisory
https://usn.ubuntu.com/3791-1/ Third Party Advisory
https://www.debian.org/security/2018/dsa-4311 Third Party Advisory
https://www.exploit-db.com/exploits/45548/ ExploitThird Party AdvisoryVDB Entry
https://www.exploit-db.com/exploits/45631/ ExploitThird Party AdvisoryVDB Entry
https://www.openwall.com/lists/oss-security/2018/10/06/3 Mailing ListThird Party Advisory
http://lists.opensuse.org/opensuse-security-announce/2020-05/msg00003.html
http://packetstormsecurity.com/files/152173/Sourcetree-Git-Arbitrary-Code-Execution-URL-Handling.html Third Party AdvisoryVDB Entry
http://www.securityfocus.com/bid/105523 Third Party AdvisoryVDB Entry
http://www.securityfocus.com/bid/107511 Third Party AdvisoryVDB Entry
http://www.securitytracker.com/id/1041811 Third Party AdvisoryVDB Entry
https://access.redhat.com/errata/RHSA-2018:3408 Third Party Advisory
https://access.redhat.com/errata/RHSA-2018:3505 Third Party Advisory
https://access.redhat.com/errata/RHSA-2018:3541 Third Party Advisory
https://access.redhat.com/errata/RHSA-2020:0316
https://github.com/git/git/commit/1a7fd1fb2998002da6e9ff2ee46e1bdd25ee8404 PatchThird Party Advisory
https://github.com/git/git/commit/a124133e1e6ab5c7a9fef6d0e6bcb084e3455b46 PatchThird Party Advisory
https://marc.info/?l=git&m=153875888916397&w=2 Third Party Advisory
https://seclists.org/bugtraq/2019/Mar/30 Mailing ListThird Party Advisory
https://usn.ubuntu.com/3791-1/ Third Party Advisory
https://www.debian.org/security/2018/dsa-4311 Third Party Advisory
https://www.exploit-db.com/exploits/45548/ ExploitThird Party AdvisoryVDB Entry
https://www.exploit-db.com/exploits/45631/ ExploitThird Party AdvisoryVDB Entry
https://www.openwall.com/lists/oss-security/2018/10/06/3 Mailing ListThird Party Advisory

Track CVE-2018-17456 inside VULONE

Watch it alongside the ransomware crews, C2 infrastructure and forum chatter that reference it, query it through the API and pull it into your SIEM over TAXII.

Start free Open in platform

Related vulnerabilities

Same products first, then exploited flaws of the same weakness class.

10.0CVE-2025-32433Erlang/OTP SSH server missing authentication allows remote code executionErlang/OTP SSH servers before OTP-27.3.3, OTP-26.2.5.11 and OTP-25.3.2.20 mishandle SSH protocol messages, letting an unauthenticated attacker execut…KEVEPSS 99%analysed10.0CVE-2025-24201Apple WebKit out-of-bounds write allows sandbox escapeCVE-2025-24201 is an out-of-bounds write in Apple's WebKit that was addressed with improved checks. Maliciously crafted web content may break out of …KEVEPSS 3.8%analysed10.0CVE-2021-44228Apache Log4j2 JNDI lookup remote code executionApache Log4j2 versions 2.0-beta9 through 2.15.0 (excluding 2.12.2, 2.12.3, and 2.3.1) do not protect against attacker-controlled LDAP and other JNDI …KEVEPSS 100%analysed9.8CVE-2026-24061GNU Inetutils telnetd argument injection allows remote auth bypasstelnetd in GNU Inetutils through 2.7 fails to sanitize the USER environment variable, so a value such as "-f root" is passed as an argument to login …KEVEPSS 99%analysed9.8CVE-2025-39682Linux kernel TLS zero-length record handling flaw on rx_listThe Linux kernel TLS receive path mishandles zero-length records that arrive from the rx_list, breaking the assumption that a record type change cann…KEVEPSS 2.9%analysed9.8CVE-2025-24813Apache Tomcat Default Servlet path equivalence enables RCE and file disclosureApache Tomcat mishandles path equivalence for names containing an internal dot, letting a remote unauthenticated attacker write files through the Def…KEVEPSS 100%analysed9.8CVE-2024-9680Mozilla Firefox and Thunderbird use-after-free in Animation timelinesA use-after-free flaw in Animation timelines allows an attacker to execute code in the content process of Firefox and Thunderbird. Mozilla reports ex…KEVEPSS 23%analysed9.8CVE-2023-46604Apache ActiveMQ OpenWire deserialization remote code executionThe Java OpenWire protocol marshaller in Apache ActiveMQ deserializes untrusted data, letting an attacker manipulate serialized class types so the br…KEVEPSS 100%analysed

Source: NIST National Vulnerability Database (record CVE-2018-17456), CISA KEV, FIRST EPSS (scores of 2026-09-24). This page is refreshed as NVD updates the record.