First published: Tue Oct 18 2022(Updated: )
Git is an open source, scalable, distributed revision control system. `git shell` is a restricted login shell that can be used to implement Git's push/pull functionality via SSH. In versions prior to 2.30.6, 2.31.5, 2.32.4, 2.33.5, 2.34.5, 2.35.5, 2.36.3, and 2.37.4, the function that splits the command arguments into an array improperly uses an `int` to represent the number of entries in the array, allowing a malicious actor to intentionally overflow the return value, leading to arbitrary heap writes. Because the resulting array is then passed to `execv()`, it is possible to leverage this attack to gain remote code execution on a victim machine. Note that a victim must first allow access to `git shell` as a login shell in order to be vulnerable to this attack. This problem is patched in versions 2.30.6, 2.31.5, 2.32.4, 2.33.5, 2.34.5, 2.35.5, 2.36.3, and 2.37.4 and users are advised to upgrade to the latest version. Disabling `git shell` access via remote logins is a viable short-term workaround.
Credit: Kevin Backhouse the GitHub Security Lab security-advisories@github.com security-advisories@github.com
Affected Software | Affected Version | How to fix |
---|---|---|
redhat/git | <0:2.39.1-1.el8 | 0:2.39.1-1.el8 |
redhat/git | <0:2.39.1-1.el9 | 0:2.39.1-1.el9 |
<2.30.6 | ||
>=2.31.0<2.31.5 | ||
>=2.32.0<2.32.4 | ||
>=2.33.0<2.33.5 | ||
>=2.34.0<2.34.5 | ||
>=2.35.0<2.35.5 | ||
>=2.36.0<2.36.3 | ||
>=2.37.0<2.37.4 | ||
=2.38.0 | ||
=35 | ||
=36 | ||
=37 | ||
<14.1 | ||
=10.0 | ||
Git-scm Git | <2.30.6 | |
Git-scm Git | >=2.31.0<2.31.5 | |
Git-scm Git | >=2.32.0<2.32.4 | |
Git-scm Git | >=2.33.0<2.33.5 | |
Git-scm Git | >=2.34.0<2.34.5 | |
Git-scm Git | >=2.35.0<2.35.5 | |
Git-scm Git | >=2.36.0<2.36.3 | |
Git-scm Git | >=2.37.0<2.37.4 | |
Git-scm Git | =2.38.0 | |
Fedoraproject Fedora | =35 | |
Fedoraproject Fedora | =36 | |
Fedoraproject Fedora | =37 | |
Apple Xcode | <14.1 | |
Debian Debian Linux | =10.0 | |
redhat/git | <2.30.6 | 2.30.6 |
redhat/git | <2.31.5 | 2.31.5 |
redhat/git | <2.32.4 | 2.32.4 |
redhat/git | <2.33.5 | 2.33.5 |
redhat/git | <2.34.5 | 2.34.5 |
redhat/git | <2.35.5 | 2.35.5 |
redhat/git | <2.36.3 | 2.36.3 |
redhat/git | <2.37.4 | 2.37.4 |
Apple Xcode | <14.1 | 14.1 |
Disabling `git shell` access via remote logins is a viable short-term workaround.
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
(Found alongside the following vulnerabilities)
The vulnerability ID of this issue is CVE-2022-39260.
The severity of CVE-2022-39260 is high with a CVSS score of 8.8.
The affected software includes Apple Xcode version up to 14.1 and Git versions up to 2.37.4.
This vulnerability in Git allows an attacker to exploit the function that splits the command using a specially crafted path and execute arbitrary code.
To fix this vulnerability, it is recommended to update Git to version 2.37.4 or later.