ALPINE-CVE-2024-32021
Record from OSV · Published May 14, 2024
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 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.
Fixed versions
Upgrade to a fixed version or later. Language registries are listed first, then Linux distributions, then vendor products.
| Package | Ecosystem | Fixed in |
|---|---|---|
| git | Alpine:v3.20 | 2.45.1-r0 |
| git | Alpine:v3.18 | 2.40.3-r0 |
| git | Alpine:v3.21 | 2.45.1-r0 |
| git | Alpine:v3.24 | 2.45.1-r0 |
| git | Alpine:v3.17 | 2.39.5-r0 |
| git | Alpine:v3.22 | 2.45.1-r0 |
| git | Alpine:v3.23 | 2.45.1-r0 |
| git | Alpine:v3.19 | 2.43.4-r0 |
Risk scores
Affected products
| Vendor | Product | Versions |
|---|---|---|
| Alpine:v3.20 | git | 1.6.4.4-r0, 1.6.5-r0, 1.6.5.2-r0 |
| Alpine:v3.18 | git | 1.7.7.4-r0, 2.40.0, 1.7.8-r0 |
| Alpine:v3.21 | git | 2.40.0, 0, 1.6.0.4-r1 |
| Alpine:v3.24 | git | 2.40.0 |
| Alpine:v3.17 | git | 1.8.2.3-r2, 0, 1.6.0.4-r2 |
| Alpine:v3.22 | git | 1.6.1.3-r0, 1.6.1-r0, 1.6.0.4-r2 |
| Alpine:v3.23 | git | 1.6.6-r0, 1.6.5.6-r0, 1.6.5.5-r0 |
| Alpine:v3.19 | git | 2.22.1-r0, 1.8.2.3-r0, 1.7.9.2-r0 |
Timeline
- May 14, 2024 CVE Published
- Jul 8, 2026 CVE Updated
- Aug 8, 2026 Distribution Patch
Query this with the API
The same record, from the CLI:
vulnetix vdb vuln ALPINE-CVE-2024-32021
vulnetix vdb fixes ALPINE-CVE-2024-32021
Or with curl, using the org id and key from your account page:
curl -s -H "Authorization: ApiKey ${VULNETIX_ORG_ID}:${VULNETIX_API_KEY}" \
"https://api.vdb.vulnetix.com/v2/vuln/ALPINE-CVE-2024-32021/fixes/registry"
The Community plan is free and allows 50 queries a day. Get a free API key · API quickstart