{"schemaVersion":3,"id":"CVE-2024-32021","aliases":["ALPINE-CVE-2024-32021","UBUNTU-CVE-2024-32021","DEBIAN-CVE-2024-32021","CGA-vqjv-q4xj-43hj","CGA-wrrq-54cr-4pc5"],"status":"published","duplicateOf":null,"title":null,"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, when cloning a local source repository that contains symlinks via the filesystem, Git may create hardlinks to arbitrary user-readable files on the same filesystem as the target repository in the `objects/` directory. Cloning a local repository over the filesystem may creating hardlinks to arbitrary user-owned files on the same filesystem in the target Git repository's `objects/` directory. When cloning a repository over the filesystem (without explicitly specifying the `file://` protocol or `--no-local`), the optimizations for local cloning\nwill be used, which include attempting to hard link the object files instead of copying them. While the code includes checks against symbolic links in the source repository, which were added during the fix for CVE-2022-39253, these checks can still be raced because the hard link operation ultimately follows symlinks. If the object on the filesystem appears as a file during the check, and then a symlink during the operation, this will allow the adversary to bypass the check and create hardlinks in the destination objects directory to arbitrary, user-readable files. 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.","dates":{"published":"2024-05-14T19:15:28.534Z","modified":"2025-11-04T16:12:11.603Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":7.1,"severity":"high","version":"3.1","versionLabel":"v3.1","source":"NVD","vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":3.9,"severity":"low","vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:C/C:N/I:L/A:L","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Alpine","score":7.1,"severity":"high","vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N","exploitability":4.6,"impact":8.7,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Ubuntu","score":7.1,"severity":"high","vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N","exploitability":4.6,"impact":8.7,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Debian","score":7.1,"severity":"high","vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N","exploitability":4.6,"impact":8.7,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Wolfi","score":3.9,"severity":"low","vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:C/C:N/I:L/A:L","exploitability":2.1,"impact":4.5,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":7.1,"severity":"high","vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Chainguard","score":3.9,"severity":"low","vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:C/C:N/I:L/A:L","exploitability":2.1,"impact":4.5,"computed":true}]},"epss":{"probability":0.01023,"percentile":0.62959,"severity":"low","asOf":"2026-10-20T00:00:00.000Z","change":{"pp":0,"baselineDate":"2026-09-20T00:00:00.000Z","baselineScore":0.01023},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.01023,"percentile":0.62959}],"last30":[{"date":"2026-09-20T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.01023,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.01023,"percentile":0.62959}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[{"id":"GITHUB_GIT_GIT","name":"Git","source":"github","url":"https://github.com/git/git/commit/a02ea577174ab8ed18f847cf1693f213e0b9c473","maturity":"poc","reliabilityScore":0.3,"verified":false,"type":null,"platforms":[],"requiresAuth":null,"exploitdb":null,"metasploit":null}],"exploitCount":1,"weaknesses":[{"id":"CWE-547","name":"Use of Hard-coded, Security-relevant Constants","description":"The product uses hard-coded constants instead of symbolic names for security-critical values, which increases the likelihood of mistakes during code maintenance or security policy change.","type":"weakness","status":"Draft","abstraction":"Base","likelihoodOfExploit":null,"url":"https://cwe.mitre.org/data/definitions/547.html"}],"affected":[{"vendor":"alpine","product":"git","name":"git","label":"git","ecosystem":"Alpine Linux","cpePart":null,"purl":"pkg:apk/alpine/git","purlType":"apk","versions":[{"text":"≥ 2.40.0, < 2.39.5-r0","noFixRecorded":false,"fixedIn":null},{"text":"≥ 2.40.0, < 2.40.3-r0","noFixRecorded":false,"fixedIn":null},{"text":"≥ 2.40.0, < 2.43.4-r0","noFixRecorded":false,"fixedIn":null},{"text":"≥ 2.40.0, < 2.45.1-r0","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ 2.40.0, < 2.39.5-r0 | ≥ 2.40.0, < 2.40.3-r0 | ≥ 2.40.0, < 2.43.4-r0 | ≥ 2.40.0, < 2.45.1-r0","eol":null,"hubHref":null},{"vendor":"chainguard","product":"git","name":"git","label":"git","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/git","purlType":"apk","versions":[{"text":"< 2.45.1-r0","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 2.45.1-r0","eol":null,"hubHref":null},{"vendor":"wolfi","product":"git","name":"git","label":"git","ecosystem":"Wolfi","cpePart":null,"purl":"pkg:apk/wolfi/git","purlType":"apk","versions":[{"text":"< 2.45.1-r0","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 2.45.1-r0","eol":null,"hubHref":null},{"vendor":"debian","product":"git","name":"git","label":"git","ecosystem":"Debian","cpePart":null,"purl":"pkg:deb/debian/git","purlType":"deb","versions":[{"text":"< 1:2.39.5-0+deb12u1","noFixRecorded":false,"fixedIn":null},{"text":"< 1:2.45.1-1","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 1:2.39.5-0+deb12u1 | < 1:2.45.1-1","eol":null,"hubHref":null},{"vendor":"ubuntu","product":"git","name":"git","label":"git","ecosystem":"Ubuntu","cpePart":null,"purl":"pkg:deb/ubuntu/git","purlType":"deb","versions":[{"text":"< 1:2.17.1-1ubuntu0.18+esm1","noFixRecorded":false,"fixedIn":null},{"text":"< 1:2.25.1-1ubuntu3.12","noFixRecorded":false,"fixedIn":null},{"text":"< 1:2.34.1-1ubuntu1.11","noFixRecorded":false,"fixedIn":null},{"text":"< 1:2.43.0-1ubuntu7.1","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 1:2.17.1-1ubuntu0.18+esm1 | < 1:2.25.1-1ubuntu3.12 | < 1:2.34.1-1ubuntu1.11 | < 1:2.43.0-1ubuntu7.1","eol":null,"hubHref":null},{"vendor":"debian","product":"debian_linux","name":"debian linux","label":"debian_linux","ecosystem":null,"cpePart":"o","purl":null,"purlType":null,"versions":[{"text":"10.0","noFixRecorded":false,"fixedIn":null},{"text":"11.0","noFixRecorded":false,"fixedIn":null}],"versionsText":"10.0 | 11.0","eol":{"isEol":true,"eolDate":"2024-06-30T00:00:00.000Z","matchMethod":"cpe","cycle":{"name":"10","label":"10 (Buster)","eolFrom":"2024-06-30T00:00:00.000Z","isLts":false,"isMaintained":true,"latestVersion":"10.13"},"product":{"name":"debian","label":"Debian","category":"os"}},"hubHref":"/vendor/debian/debian_linux"},{"vendor":"fedoraproject","product":"fedora","name":"fedora","label":"fedora","ecosystem":null,"cpePart":"o","purl":null,"purlType":null,"versions":[{"text":"40","noFixRecorded":false,"fixedIn":null}],"versionsText":"40","eol":{"isEol":true,"eolDate":"2025-05-13T00:00:00.000Z","matchMethod":"cpe","cycle":{"name":"40","label":"40","eolFrom":"2025-05-13T00:00:00.000Z","isLts":false,"isMaintained":false,"latestVersion":null},"product":{"name":"fedora","label":"Fedora Linux","category":"os"}},"hubHref":"/vendor/fedoraproject/fedora"},{"vendor":"git-scm","product":"git","name":"git","label":"git","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 2.39.4","noFixRecorded":false,"fixedIn":null},{"text":"≥ 2.40.0, < 2.40.2","noFixRecorded":false,"fixedIn":null},{"text":"≥ 2.42.0, < 2.42.2","noFixRecorded":false,"fixedIn":null},{"text":"≥ 2.43.0, < 2.43.4","noFixRecorded":false,"fixedIn":null},{"text":"2.41.0","noFixRecorded":false,"fixedIn":null},{"text":"2.44.0","noFixRecorded":false,"fixedIn":null},{"text":"2.45.0","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 2.39.4 | ≥ 2.40.0, < 2.40.2 | ≥ 2.42.0, < 2.42.2 | ≥ 2.43.0, < 2.43.4 | 2.41.0 | 2.44.0 | 2.45.0","eol":null,"hubHref":"/vendor/git-scm/git"},{"vendor":"git","product":"git","name":"Git","label":"git","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"= 2.45.0","noFixRecorded":false,"fixedIn":null},{"text":"= 2.44.0","noFixRecorded":false,"fixedIn":null},{"text":"≥ 2.43.0, < 2.43.4","noFixRecorded":false,"fixedIn":null},{"text":"≥ 2.42.0, < 2.42.2","noFixRecorded":false,"fixedIn":null},{"text":"= 2.41.0","noFixRecorded":false,"fixedIn":null},{"text":"≥ 2.40.0, < 2.40.2","noFixRecorded":false,"fixedIn":null},{"text":"< 2.39.4","noFixRecorded":false,"fixedIn":null}],"versionsText":"= 2.45.0 | = 2.44.0 | ≥ 2.43.0, < 2.43.4 | ≥ 2.42.0, < 2.42.2 | = 2.41.0 | ≥ 2.40.0, < 2.40.2 | < 2.39.4","eol":null,"hubHref":"/vendor/git/git"}],"affectedCount":9,"eol":{"hasEol":true,"count":2},"references":[{"url":"https://github.com/git/git/security/advisories/GHSA-mvxm-9j2h-qjx7","label":"github.com/git/git/security/advisories/GHSA-mvxm-9j2h-qjx7","hostname":"github.com","tags":["X Refsource CONFIRM","REPORT","Advisory","Exploit","Vendor Advisory"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/S4CK4IYTXEOBZTEM5K3T6LWOIZ3S44AR/","label":"lists.fedoraproject.org/archives/…","hostname":"lists.fedoraproject.org","tags":["WEB","Mailing List","Third Party Advisory"]},{"url":"http://www.openwall.com/lists/oss-security/2024/05/14/2","label":"www.openwall.com/lists/oss-security/2024/05/14/2","hostname":"www.openwall.com","tags":["WEB","Mailing List","Third Party Advisory"]},{"url":"https://lists.debian.org/debian-lts-announce/2024/06/msg00018.html","label":"lists.debian.org/debian-lts-announce/2024/06/msg00018.html","hostname":"lists.debian.org","tags":["WEB","Mailing List","Third Party Advisory"]},{"url":"https://lists.debian.org/debian-lts-announce/2024/09/msg00009.html","label":"lists.debian.org/debian-lts-announce/2024/09/msg00009.html","hostname":"lists.debian.org","tags":["WEB","Mailing List","Third Party Advisory"]},{"url":"https://security.alpinelinux.org/vuln/CVE-2024-32021","label":"security.alpinelinux.org/vuln/CVE-2024-32021","hostname":"security.alpinelinux.org","tags":["Advisory"]},{"url":"https://ubuntu.com/security/CVE-2024-32021","label":"ubuntu.com/security/CVE-2024-32021","hostname":"ubuntu.com","tags":["REPORT"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2024-32021","label":"www.cve.org/CVERecord?id=CVE-2024-32021","hostname":"www.cve.org","tags":["REPORT"]},{"url":"https://ubuntu.com/security/notices/USN-6793-1","label":"ubuntu.com/security/notices/USN-6793-1","hostname":"ubuntu.com","tags":["Advisory"]},{"url":"https://ubuntu.com/security/notices/USN-7023-1","label":"ubuntu.com/security/notices/USN-7023-1","hostname":"ubuntu.com","tags":["Advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2024-32021","label":"security-tracker.debian.org/tracker/CVE-2024-32021","hostname":"security-tracker.debian.org","tags":["Advisory"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/32xxx/CVE-2024-32021.json","label":"github.com/CVEProject/cvelistV5/tree/main/cves/2024/32xxx/CVE-2024-32021.json","hostname":"github.com","tags":["Advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2024-32021","label":"nvd.nist.gov/vuln/detail/CVE-2024-32021","hostname":"nvd.nist.gov","tags":["Advisory","Oval"]}],"lineage":{"upstream":[],"downstream":["DLA-3844-1","DLA-3867-1","DSA-5769-1","MGASA-2024-0204","OPENSUSE-SU-2024:13968-1","RHSA-2024:4083","RHSA-2024:4084","RHSA-2024:4368","SUSE-SU-2024:1807-1","SUSE-SU-2024:1807-2","SUSE-SU-2024:1854-1","SUSE-SU-2024:2277-1","SUSE-SU-2025:0197-1","SUSE-SU-2025:20049-1","USN-6793-1","USN-7023-1"],"duplicates":[],"related":["CGA-3VRG-87VF-MHF3","CGA-4774-Q24P-MPPQ","OPENSUSE-SU-2024:13968-1","SUSE-SU-2024:1807-1","SUSE-SU-2024:1807-2","SUSE-SU-2024:1854-1","SUSE-SU-2024:2277-1","SUSE-SU-2025:0197-1","SUSE-SU-2025:20049-1","USN-6793-1","USN-7023-1"]},"timeline":[{"kind":"published","date":"2024-05-14T19:15:28.534Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2025-11-04T16:12:11.603Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":39,"level":"medium","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-20T17:12:15.289Z","stale":false,"partial":false}}