Git's recursive clones on case-insensitive filesystems that support symlinks are susceptible to Remote Code Execution (git git)
At a glance
- Source
- NVD
- EPSS
- EPSS 29.23 % · percentile 98 ()
- State
- PUBLISHED
- Published
- Updated
- Assigner
- GitHub_M
- NVD status
- Modified
Description
Git is a revision control system. Prior to versions 2.45.1, 2.44.1, 2.43.4, 2.42.2, 2.41.1, 2.40.2, and 2.39.4, repositories with submodules can be crafted in a way that exploits a bug in Git whereby it can be fooled into writing files not into the submodule's worktree but into a `.git/` directory. This allows writing a hook that will be executed while the clone operation is still running, giving the user no opportunity to inspect the code that is being executed. The problem has been patched in versions 2.45.1, 2.44.1, 2.43.4, 2.42.2, 2.41.1, 2.40.2, and 2.39.4. If symbolic link support is disabled in Git (e.g. via `git config --global core.symlinks false`), the described attack won't work. As always, it is best to avoid cloning repositories from untrusted sources.
Weaknesses (CWE)
- CWE-22 — Improper Limitation of a Pathname to a Restricted Directory
- CWE-434 — Unrestricted Upload of File with Dangerous Type
- CWE-59 — Improper Link Resolution Before File Access
References
- https://github.com/git/git/security/advisories/GHSA-8h77-4q3w-gfgv
- https://github.com/git/git/commit/97065761333fd62db1912d81b489db938d8c991d
- https://git-scm.com/docs/git-clone#Documentation/git-clone.txt---recurse-submodulesltpathspecgt
- https://git-scm.com/docs/git-config#Documentation/git-config.txt-coresymlinks
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/S4CK4IYTXEOBZTEM5K3T6LWOIZ3S44AR/
- http://www.openwall.com/lists/oss-security/2024/05/14/2
- https://lists.debian.org/debian-lts-announce/2024/06/msg00018.html
- https://lists.debian.org/debian-lts-announce/2024/09/msg00009.html
Scores
| Version | Score | Vector | Scored by |
|---|---|---|---|
| CVSS 3.1 | CRITICAL 9.1 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H | GitHub_M |
| CVSS 3.1 | CRITICAL 9.0 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H | NVD · security-advisories@github.com (Secondary) |
| CVSS 3.1 | CRITICAL 9.0 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H | NVD · nvd@nist.gov (Primary) |
European references
- ENISA EUVD · EUVD-2024-29843
- GCVE · GCVE-0-2024-32002
CERT-FR advisories
- CERTFR-2025-AVI-0563 — Multiples vulnérabilités dans les produits Splunk · cert.ssi.gouv.fr
- CERTFR-2025-AVI-0304 — Multiples vulnérabilités dans les produits Juniper Networks · cert.ssi.gouv.fr
- CERTFR-2024-AVI-0741 — Multiples vulnérabilités dans Juniper Secure Analytics · cert.ssi.gouv.fr
- CERTFR-2024-AVI-0646 — Multiples vulnérabilités dans les produits IBM · cert.ssi.gouv.fr
- CERTFR-2024-AVI-0403 — Multiples vulnérabilités dans les produits Microsoft · cert.ssi.gouv.fr
Affected configurations (NVD CPE)
cpe:2.3:a:git:git:*:*:*:*:*:*:*:*< 2.39.4cpe:2.3:a:git:git:*:*:*:*:*:*:*:*≥ 2.40.0 < 2.40.2cpe:2.3:a:git:git:*:*:*:*:*:*:*:*≥ 2.42.0 < 2.42.2cpe:2.3:a:git:git:*:*:*:*:*:*:*:*≥ 2.43.0 < 2.43.4cpe:2.3:a:git:git:2.41.0:*:*:*:*:*:*:*cpe:2.3:a:git:git:2.44.0:*:*:*:*:*:*:*cpe:2.3:a:git:git:2.45.0:*:*:*:*:*:*:*
Affected products
| Product | Versions |
|---|---|
| git · git | affected = 2.45.0 ; affected = 2.44.0 ; affected >= 2.43.0, < 2.43.4 ; affected >= 2.42.0, < 2.42.2 ; affected = 2.41.0 ; affected >= 2.40.0, < 2.40.2 |
Sources
| Source | Licence |
|---|---|
| CVE List (CVEProject cvelistV5) | CVE Program Terms of Use |
| EPSS (FIRST.org) | FIRST — attribution requested |
| ENISA EUVD | ENISA — reproduction authorised, source acknowledged |
| CERT-FR (ANSSI) | Licence Ouverte / Etalab 2.0 |
| NVD (NIST) via fkie-cad/nvd-json-data-feeds | Public domain — this product uses data from the NVD API but is not endorsed or certified by the NVD |