CVE-2022-24826 – Git LFS can execute a binary from the current directory on Windows
https://notcve.org/view.php?id=CVE-2022-24826
On Windows, if Git LFS operates on a malicious repository with a `..exe` file as well as a file named `git.exe`, and `git.exe` is not found in `PATH`, the `..exe` program will be executed, permitting the attacker to execute arbitrary code. This does not affect Unix systems. Similarly, if the malicious repository contains files named `..exe` and `cygpath.exe`, and `cygpath.exe` is not found in `PATH`, the `..exe` program will be executed when certain Git LFS commands are run. More generally, if the current working directory contains any file with a base name of `.` and a file extension from `PATHEXT` (except `.bat` and `.cmd`), and also contains another file with the same base name as a program Git LFS intends to execute (such as `git`, `cygpath`, or `uname`) and any file extension from `PATHEXT` (including `.bat` and `.cmd`), then, on Windows, when Git LFS attempts to execute the intended program the `..exe`, `..com`, etc., file will be executed instead, but only if the intended program is not found in any directory listed in `PATH`. The vulnerability occurs because when Git LFS detects that the program it intends to run does not exist in any directory listed in `PATH` then Git LFS passes an empty string as the executable file path to the Go `os/exec` package, which contains a bug such that, on Windows, it prepends the name of the current working directory (i.e., `.`) to the empty string without adding a path separator, and as a result searches in that directory for a file with the base name `.` combined with any file extension from `PATHEXT`, executing the first one it finds. • https://github.com/git-lfs/git-lfs/releases https://github.com/git-lfs/git-lfs/security/advisories/GHSA-6rw3-3whw-jvjj • CWE-426: Untrusted Search Path •
CVE-2021-21237 – Git LFS can execute a Git binary from the current directory on Windows
https://notcve.org/view.php?id=CVE-2021-21237
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. • https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-27955 https://github.com/git-lfs/git-lfs/commit/fc664697ed2c2081ee9633010de0a7f9debea72a https://github.com/git-lfs/git-lfs/releases/tag/v2.13.2 https://github.com/git-lfs/git-lfs/security/advisories/GHSA-cx3w-xqmc-84g5 • CWE-426: Untrusted Search Path •
CVE-2020-27955 – Git git-lfs Remote Code Execution
https://notcve.org/view.php?id=CVE-2020-27955
Git LFS 2.12.0 allows Remote Code Execution. Git LFS versión 2.12.0, permite una ejecución de código remota • https://github.com/ExploitBox/git-lfs-RCE-exploit-CVE-2020-27955 https://github.com/ExploitBox/git-lfs-RCE-exploit-CVE-2020-27955-Go https://github.com/r00t4dm/CVE-2020-27955 https://github.com/DeeLMind/CVE-2020-27955-LFS https://github.com/HK69s/CVE-2020-27955 https://github.com/NeoDarwin/CVE-2020-27955 https://github.com/FrostsaberX/CVE-2020-27955 https://github.com/IanSmith123/CVE-2020-27955 https://github.com/Arnoldqqq/CVE-2020-27955 https://github.com/nob0dy-3389& • CWE-427: Uncontrolled Search Path Element •
CVE-2017-17831
https://notcve.org/view.php?id=CVE-2017-17831
GitHub Git LFS before 2.1.1 allows remote attackers to execute arbitrary commands via an ssh URL with an initial dash character in the hostname, located on a "url =" line in a .lfsconfig file within a repository. GitHub Git LFS en versiones anteriores a la 2.1.1 permite que los atacantes remotos ejecuten comandos arbitrarios mediante una URL ssh con un carácter guión inicial en el nombre del host, que se encuentra en una línea "url =" en un archivo .lfsconfig dentro de un repositorio. • http://blog.recurity-labs.com/2017-08-10/scm-vulns http://www.securityfocus.com/bid/102926 https://confluence.atlassian.com/sourcetreekb/sourcetree-security-advisory-2018-01-24-942834324.html https://github.com/git-lfs/git-lfs/pull/2242 https://github.com/git-lfs/git-lfs/releases/tag/v2.1.1 • CWE-20: Improper Input Validation •