Cyber Resilience

CVE-2024-32021

Git-Scm Git ≤ 2.39.4

Public PoC
Published
14 May 2024
Modified
05 January 2026
Patch / advisory
CVSS Score v3.1 3.9
Click a component to see what it means
Raw vectorCVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:C/C:N/I:L/A:L
EPSS Score 0.010 60th percentile
Risk Priority 34 floored blend · peak EPSS

Summary

CVE-2024-32021 is a low-severity Use of Hard-coded, Security-relevant Constants (CWE-547) vulnerability in Git-Scm Git. Its CVSS base score is 3.9 (Low).

Operationally, ranked in the top 40% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.

The strongest mitigations our analysis identified map to CM-6 (Configuration Settings) and SA-15 (Development Process, Standards, and Tools) — see the control section below for these in your framework.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

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…

more

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 will 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.

CWE(s)

Related Threats

CVEs Like This One

CVE-2024-32004Same product: Debian Debian Linux
CVE-2024-32465Same product: Debian Debian Linux
CVE-2024-32020Same product: Fedoraproject Fedora
CVE-2023-29007Same product: Fedoraproject Fedora
CVE-2023-25652Same product: Fedoraproject Fedora
CVE-2024-24814Same product: Debian Debian Linux
CVE-2024-26994Same product: Debian Debian Linux
CVE-2024-23672Same product: Debian Debian Linux
CVE-2023-5858Same product: Debian Debian Linux
CVE-2023-4428Same product: Debian Debian Linux

Affected Assets

git-scm
git
2.41.0, 2.44.0, 2.45.0 · ≤ 2.39.4 · 2.40.0 — 2.40.2 · 2.42.0 — 2.42.2
fedoraproject
fedora
40
debian
debian linux
10.0, 11.0

Mitigating Controls

Mitigating Controls (NIST 800-53 r5) AI

Documented configuration settings externalize security-critical values so they are not hard-coded in source.

Requiring a documented development process and standards can mandate use of symbolic names for constants.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.PS-06 mostly match
prevents

Secure SDLC practices directly enforce use of named constants and configurable values for security parameters.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

prevents

Secure SDLC processes can catch hard-coded constants during reviews and testing.

prevents

Secure coding standards explicitly prohibit hard-coded security constants.

none

Change management may detect constant changes but does not prevent their initial hard-coding.

none

Configuration management can externalize constants but does not directly address coding practice.

References