CVE-2023-22490: medium-severity vulnerability in git
Git vulnerable to local clone-based data exfiltration with non-local transports
Published · Updated
13Vexday Risk Score
No sign of exploitation. No public exploitation artifact known so far.
ssvc Trackcvss 5.5epss 0.7%
exploitation probability
0.7%top 48% of all CVEs
observed exploitation
nono source reports it
In short
Git can be tricked into using an optimization meant for local repositories even when cloning from remote sources, allowing an attacker to steal arbitrary files from your computer through a specially crafted repository.
Technical detail
CVE-2023-22490 exploits Git's local clone optimization bypass via symlink in the objects directory itself; a non-local transport is used but Git incorrectly applies local optimizations, enabling arbitrary file inclusion from known filesystem paths into the malicious repository's working copy for data exfiltration.
Summary generated and translated by AI from the official description.
Git is a revision control system. Using a specially-crafted repository, Git prior to versions 2.39.2, 2.38.4, 2.37.6, 2.36.5, 2.35.7, 2.34.7, 2.33.7, 2.32.6, 2.31.7, and 2.30.8 can be tricked into using its local clone optimization even when using a non-local transport. Though Git will abort local clones whose source `$GIT_DIR/objects` directory contains symbolic links, the `objects` directory itself may still be a symbolic link. These two may be combined to include arbitrary files based on known paths on the victim's filesystem within the malicious repository's working copy, allowing for data exfiltration in a similar manner as CVE-2022-39253.
A fix has been prepared and will appear in v2.39.2 v2.38.4 v2.37.6 v2.36.5 v2.35.7 v2.34.7 v2.33.7 v2.32.6, v2.31.7 and v2.30.8. If upgrading is impractical, two short-term workarounds are available. Avoid cloning repositories from untrusted sources with `--recurse-submodules`. Instead, consider cloning repositories without recursively cloning their submodules, and instead run `git submodule update` at each layer. Before doing so, inspect each new `.gitmodules` file to ensure that it does not contain suspicious module URLs.
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N
Affected products
git · gitRelated CVEs — git
In the same product, most dangerous first.
CVE-2025-48384HIGHGit allows arbitrary code execution through broken config quotingEPSS 4.2%KEVCVE-2021-21300HIGHmalicious repositories can execute remote code while cloningEPSS 88.5%CVE-2022-23521CRITICALgitattributes parsing integer overflow in gitEPSS 56.3%CVE-2023-25652HIGH"git apply --reject" partially-controlled arbitrary file writeEPSS 51.9%CVE-2022-41903CRITICALInteger overflow in `git archive`, `git log --format` leading to RCE in gitEPSS 44.3%CVE-2024-32002CRITICALGit's recursive clones on case-insensitive filesystems that support symlinks are susceptible to Remote Code ExecutionEPSS 29.2%