Skip to main content
← All vulnerabilities
CVE-2024-32002

Git's recursive clones on case-insensitive filesystems that support symlinks are susceptible to Remote Code Execution

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 2.43.4, 2.42.2, 2.40.2, 2.39.4
64 proofs of concept on GitHub
  • Exploitation: poc
  • Automatable: no
  • Technical impact: total

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: poc · Automatable: no · Technical impact: total

  3. Record last updated
  4. EPSS reached 10%

    FIRST estimates at least a 10% chance of exploitation in the next 30 days

Affected versions

  • git git

    From 2.43.0 · fixed in 2.43.4; From 2.42.0 · fixed in 2.42.2; From 2.40.0 · fixed in 2.40.2; fixed in 2.39.4

References 71

GitHub · git/git

git-scm.com

lists.fedoraproject.org

openwall.com

lists.debian.org

GitHub · 10cks/CVE-2024-32002-EXP

GitHub · 10cks/CVE-2024-32002-POC

GitHub · 10cks/CVE-2024-32002-hulk

GitHub · 10cks/CVE-2024-32002-linux-hulk

GitHub · 10cks/CVE-2024-32002-linux-submod

GitHub · 10cks/CVE-2024-32002-submod

GitHub · 10cks/hook

GitHub · 1mxml/CVE-2024-32002-poc

GitHub · 431m/rcetest

GitHub · AD-Appledog/CVE-2024-32002

GitHub · AD-Appledog/wakuwaku

GitHub · BohemianHacks/CVE-2024-32002-poc

GitHub · ControlO8/CVE-2024-32002

GitHub · ControlO8/CVE-2024-32002-hook

GitHub · CrackerCat/CVE-2024-32002_EXP

GitHub · Dre4m017/fuzzy

GitHub · FlojBoj/CVE-2024-32002

GitHub · Goplush/CVE-2024-32002-git-rce

GitHub · JoaoLeonello/cve-2024-32002-poc

GitHub · M507/CVE-2024-32002

GitHub · Masamuneee/CVE-2024-32002-POC

GitHub · Masamuneee/hook

GitHub · NishanthAnand21/CVE-2024-32002-PoC

GitHub · Roronoawjd/git_rce

GitHub · Roronoawjd/hook

GitHub · SpycioKon/CVE-2024-32002

GitHub · TSY244/CVE-2024-32002-git-rce

GitHub · TSY244/CVE-2024-32002-git-rce-father-poc

GitHub · WOOOOONG/CVE-2024-32002

GitHub · WOOOOONG/hook

GitHub · YukaFake/CVE-2024-32002

GitHub · YukaFake/CVE-2024-32002-Reverse-Shell

GitHub · aitorcastel/poc_CVE-2024-32002

GitHub · aitorcastel/poc_CVE-2024-32002_submodule

GitHub · amalmurali47/git_rce

GitHub · amalmurali47/hook

GitHub · ashutosh0408/CVE-2024-32002

GitHub · ashutosh0408/Cve-2024-32002-poc

GitHub · bfengj/CVE-2024-32002-Exploit

GitHub · bfengj/CVE-2024-32002-hook

GitHub · blackninja23/CVE-2024-32002

GitHub · charlesgargasson/CVE-2024-32002

GitHub · chrisWalker11/running-CVE-2024-32002-locally-for-tesing

GitHub · daemon-reconfig/CVE-2024-32002

GitHub · fadhilthomas/hook

GitHub · fadhilthomas/poc-cve-2024-32002

GitHub · grecosamuel/CVE-2024-32002

GitHub · jakob-pennington/cve-2024-32002-poc-aw

GitHub · jakob-pennington/cve-2024-32002-poc-rce

GitHub · jakob-pennington/cve-2024-32002-submodule-aw

GitHub · jakob-pennington/cve-2024-32002-submodule-rce

GitHub · jweny/CVE-2024-32002_EXP

GitHub · jweny/CVE-2024-32002_HOOK

GitHub · markuta/CVE-2024-32002

GitHub · markuta/hooky

GitHub · safebuffer/CVE-2024-32002

GitHub · sanan2004/CVE-2024-32002

GitHub · srakkk/cve-2024-32002-demo

GitHub · srakkk/cve-2024-32002-hook

GitHub · sysonlai/CVE-2024-32002-hook

GitHub · th4s1s/CVE-2024-32002-PoC

GitHub · tobelight/cve_2024_32002

GitHub · vincepsh/CVE-2024-32002

GitHub · vincepsh/CVE-2024-32002-hook