← Vulnerability feed

Vulnerability record · CVE-2014-9390 · published 12 February 2020

CVE-2014-9390: Git clients execute commands via crafted .git/config on case-insensitive filesystems

Git Scm · Git

Git, Mercurial, libgit2, JGit, EGit and Xcode mishandle crafted .git/config paths on Windows and OS X, allowing a remote repository to place a file that the client later treats as configuration. Because the client executes what it reads from that config, cloning or pulling from an attacker-controlled server can run arbitrary commands on the victim machine.

9.8 CVSS 3.1 Critical EPSS 76% · top 0.5% CWE-20 · Improper input validation
9.8CVSS 3.1 base score, v2 7.5
76%EPSS exploitation probability, 30 days
NoNot in CISA KEV
6Affected product versions listed by NVD
18References
17 Jun 2026Last modified by NVD

Description

Git before 1.8.5.6, 1.9.x before 1.9.5, 2.0.x before 2.0.5, 2.1.x before 2.1.4, and 2.2.x before 2.2.1 on Windows and OS X; Mercurial before 3.2.3 on Windows and OS X; Apple Xcode before 6.2 beta 3; mine all versions before 08-12-2014; libgit2 all versions up to 0.21.2; Egit all versions before 08-12-2014; and JGit all versions before 08-12-2014 allow remote Git servers to execute arbitrary commands via a tree containing a crafted .git/config file with (1) an ignorable Unicode codepoint, (2) a git~1/config representation, or (3) mixed case that is improperly handled on a case-insensitive filesystem.

CVSS:3.1/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 18 September 2026. Confidence: high.

critical priorityCVSS 3.1 base score is 9.8 with network reachability, no privileges and no user interaction, and EPSS is above the 99th percentile, so unpatched clients face severe, likely exploitation.

What it is

Git, Mercurial, libgit2, JGit, EGit and Xcode mishandle crafted .git/config paths on Windows and OS X, allowing a remote repository to place a file that the client later treats as configuration. Because the client executes what it reads from that config, cloning or pulling from an attacker-controlled server can run arbitrary commands on the victim machine.

Impact

An attacker who controls a Git or Mercurial server gains arbitrary command execution on the client with the privileges of the user performing the clone, fetch or pull.

Attack surface

Reached over the network when a user clones, fetches or pulls from a malicious repository; no authentication or user interaction beyond initiating the repository operation is required, matching the AV:N/PR:N/UI:N vector. The flaw only manifests on case-insensitive filesystems such as Windows and OS X.

Exploitation

Not listed in CISA KEV and no ransomware associations are recorded, but EPSS is 0.75597 (99.5th percentile), indicating high predicted exploitation likelihood; references are advisories and patches rather than exploit code.

What to do

  • Upgrade Git to 1.8.5.6, 1.9.5, 2.0.5, 2.1.4 or 2.2.1 (or later) on Windows and OS X.
  • Update Mercurial to 3.2.3 or later, libgit2 past 0.21.2, and JGit/EGit to builds after 08-12-2014; update Xcode to 6.2 beta 3 or later.
  • Avoid cloning or pulling from untrusted repositories on case-insensitive filesystems until clients are patched.
  • Audit existing working trees for unexpected .git/config or git~1/config entries and remove them.
  • Restrict developer workstations from reaching untrusted Git hosts where policy allows.

Detection

  • Monitor process creation on developer endpoints for shell or interpreter children spawned by git, hg or IDE Git plugins during clone, fetch or pull.
  • Scan repository working trees and checkouts for .git/config, git~1/config or case-variant config paths that differ from the expected .git/config.
  • Alert on outbound Git protocol traffic to newly seen or untrusted hosts from developer machines.
  • Review file-integrity or EDR logs for writes to .git directories immediately followed by process execution.

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

Affected products

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

References

Track CVE-2014-9390 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-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%analysed8.0CVE-2025-48384Git config CRLF handling allows submodule path link-following code executionGit mishandles trailing carriage returns when writing config values, so a submodule path ending in CR is read back altered during submodule initializ…KEVEPSS 4.1%analysed9.8CVE-2024-24577Libgit2 heap-based buffer overflow vulnerabilitylibgit2 is a portable C implementation of the Git core methods provided as a linkable library with a solid API, allowing to build Git functionality i…EPSS 1.5%9.8CVE-2022-23521Git gitattributes parsing integer overflow enables heap corruptionGit's gitattributes parser suffers multiple integer overflows when handling a huge number of path patterns, many attributes for one pattern, or very …EPSS 56%analysed9.8CVE-2022-41903Git-scm git integer overflow vulnerabilityGit is distributed revision control system. `git log` can display commits in an arbitrary format using its `--format` specifiers. This functionality …EPSS 44%9.8CVE-2020-12278Libgit2 vulnerabilityAn issue was discovered in libgit2 before 0.28.4 and 0.9x before 0.99.0. path.c mishandles equivalent filenames that exist because of NTFS Alternate …EPSS 5.2%9.8CVE-2020-12279Libgit2 vulnerabilityAn issue was discovered in libgit2 before 0.28.4 and 0.9x before 0.99.0. checkout.c mishandles equivalent filenames that exist because of NTFS short …EPSS 5.2%9.8CVE-2019-1353Git-scm git vulnerabilityAn issue was found in Git before v2.24.1, v2.23.1, v2.22.2, v2.21.1, v2.20.2, v2.19.3, v2.18.2, v2.17.3, v2.16.6, v2.15.4, and v2.14.6. When running …EPSS 2.2%

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