CVE-2023-22490

Updated: 2023-03-10 04:05:13.249141

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.


Links NIST CIRCL RHEL Ubuntu

Severity

Severity Score
CVSS Version 2.x 0
CVSS Version 3.x MEDIUM 5.5

Status

OS name Project name Version Score Severity Status Errata Last updated
CentOS 6 ELS git 1.7.1 5.5 MEDIUM Ignored 2023-02-21 07:40:19
CentOS 8.4 ELS git 2.27.0 5.5 MEDIUM Released CLSA-2023:1677095411 2023-02-22 16:03:32
CentOS 8.5 ELS git 2.27.0 5.5 MEDIUM Released CLSA-2023:1677095961 2023-02-22 16:03:31
CloudLinux 6 ELS git 1.7.1 5.5 MEDIUM Ignored 2023-02-21 07:40:20
Oracle Linux 6 ELS git 1.7.1 5.5 MEDIUM Ignored 2023-02-21 07:40:19
Ubuntu 16.04 ELS git 2.7.4 5.5 MEDIUM Ignored 2023-02-21 07:40:20
Ubuntu 18.04 ELS git 2.17.1 5.5 MEDIUM Already Fixed 2023-06-02 09:10:36

Statement

Any reasonable attempt to fix this issue requires a solid backporting of complete subsystems (directory iterators, helper program from the testing infrastructure, etc.), with a follow-up efforts on debugging of an interaction between new and old code. Pretty hard to accomplish within a predictable time frame and doesn't look reasonable in practice.