CVE-2023-22490

Git vulnerable to local clone-based data exfiltration with non-local transports

MEDIUM
5.5
CVSS Score
Published: February 14, 2023 at 07:47 PM UTC
Updated: October 8, 2026 at 10:17 PM UTC
2 products affected across 2 vendorsGitGit

Using git by git?

Get instant alerts when new vulnerabilities affect git - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM5.5
Exploit prediction
EPSS 0.7%
SSVC
No known exploit

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.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

v < 2.30.82.31.0 ≤ v < 2.31.72.32.0 ≤ v < 2.32.62.33.0 ≤ v < 2.33.72.34.0 ≤ v < 2.34.72.35.0 ≤ v < 2.35.72.36.0 ≤ v < 2.36.52.37.0 ≤ v < 2.37.62.38.0 ≤ v < 2.38.42.39.0 ≤ v < 2.39.2*
Affected range stops below 2.30.8, so it looks safe — our inference, not a vendor statement
Affected range stops below 2.31.7, so it looks safe — our inference, not a vendor statement
Affected range stops below 2.32.6, so it looks safe — our inference, not a vendor statement
Affected range stops below 2.33.7, so it looks safe — our inference, not a vendor statement
Affected range stops below 2.34.7, so it looks safe — our inference, not a vendor statement
Affected range stops below 2.35.7, so it looks safe — our inference, not a vendor statement
Affected range stops below 2.36.5, so it looks safe — our inference, not a vendor statement
Affected range stops below 2.37.6, so it looks safe — our inference, not a vendor statement
Affected range stops below 2.38.4, so it looks safe — our inference, not a vendor statement
Affected range stops below 2.39.2, so it looks safe — our inference, not a vendor statement
Git· Gitrubygems
90%
v < 2.30.8>= 2.31.0, < 2.31.7>= 2.32.0, < 2.32.6>= 2.33.0, < 2.33.7>= 2.34.0, < 2.34.7>= 2.35.0, < 2.35.7>= 2.36.0, < 2.36.5>= 2.37.0, < 2.37.6>= 2.38.0, < 2.38.4>= 2.39.0, < 2.39.2
Affected range stops below 2.30.8, so it looks safe — our inference, not a vendor statement
Affected range stops below 2.31.7, so it looks safe — our inference, not a vendor statement
Affected range stops below 2.32.6, so it looks safe — our inference, not a vendor statement
Affected range stops below 2.33.7, so it looks safe — our inference, not a vendor statement
Affected range stops below 2.34.7, so it looks safe — our inference, not a vendor statement
Affected range stops below 2.35.7, so it looks safe — our inference, not a vendor statement
Affected range stops below 2.36.5, so it looks safe — our inference, not a vendor statement
Affected range stops below 2.37.6, so it looks safe — our inference, not a vendor statement
Affected range stops below 2.38.4, so it looks safe — our inference, not a vendor statement
Affected range stops below 2.39.2, so it looks safe — our inference, not a vendor statement

SSVC — Action Prioritization

SSVCNo known exploitNot automatablePartial impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

5.5MEDIUMGitHub_M
Attack Vector
LOCAL
Complexity
LOW
Privileges
NONE
User Interaction
REQUIRED
Scope
UNCHANGED
Confidentiality
HIGH
Integrity
NONE
Availability
NONE
Vector?

Quick Info

StatusMODIFIED
CWE
CWE-59

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card