PublicCVE

CVE-2023-22490

MEDIUM5.5

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 breakdown

CVSS 3.1
Attack Vector
Local
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

Affected products

  • git / git>= 2.39.0, < 2.39.2 – >= 2.39.0, < 2.39.2
  • git / git>= 2.38.0, < 2.38.4 – >= 2.38.0, < 2.38.4
  • git / git>= 2.37.0, < 2.37.6 – >= 2.37.0, < 2.37.6
  • git / git>= 2.36.0, < 2.36.5 – >= 2.36.0, < 2.36.5
  • git / git>= 2.35.0, < 2.35.7 – >= 2.35.0, < 2.35.7
  • git / git>= 2.34.0, < 2.34.7 – >= 2.34.0, < 2.34.7
  • git / git>= 2.33.0, < 2.33.7 – >= 2.33.0, < 2.33.7
  • git / git>= 2.32.0, < 2.32.6 – >= 2.32.0, < 2.32.6
  • git / git>= 2.31.0, < 2.31.7 – >= 2.31.0, < 2.31.7
  • git / git< 2.30.8 – < 2.30.8
  • git-scm / git2.30.8
Updated 29m ago · 8 sources