CVE Vulnerabilities

CVE-2021-21237

Untrusted Search Path

Published: Jan 15, 2021 | Modified: Jan 29, 2021
CVSS 3.x
7.8
HIGH
Source:
NVD
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS 2.x
4.6 MEDIUM
AV:L/AC:L/Au:N/C:P/I:P/A:P
RedHat/V2
RedHat/V3
Ubuntu
MEDIUM

Git LFS is a command line extension for managing large files with Git. On Windows, if Git LFS operates on a malicious repository with a git.bat or git.exe file in the current directory, that program would be executed, permitting the attacker to execute arbitrary code. This does not affect Unix systems. This is the result of an incomplete fix for CVE-2020-27955. This issue occurs because on Windows, Go includes (and prefers) the current directory when the name of a command run does not contain a directory separator. Other than avoiding untrusted repositories or using a different operating system, there is no workaround. This is fixed in v2.13.2.

Weakness

The product searches for critical resources using an externally-supplied search path that can point to resources that are not under the product’s direct control.

Affected Software

Name Vendor Start Version End Version
Git_large_file_storage Git_large_file_storage_project * 2.13.2 (excluding)
Git-lfs Ubuntu bionic *
Git-lfs Ubuntu esm-apps/bionic *
Git-lfs Ubuntu esm-apps/focal *
Git-lfs Ubuntu focal *
Git-lfs Ubuntu groovy *
Git-lfs Ubuntu trusty *
Git-lfs Ubuntu upstream *

Extended Description

This might allow attackers to execute their own programs, access unauthorized data files, or modify configuration in unexpected ways. If the product uses a search path to locate critical resources such as programs, then an attacker could modify that search path to point to a malicious program, which the targeted product would then execute. The problem extends to any type of critical resource that the product trusts. Some of the most common variants of untrusted search path are:

Potential Mitigations

References