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 | Score | |
---|---|---|
CVSS Version 2.x | 0 | |
CVSS Version 3.x | MEDIUM | 5.5 |
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 |
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.