Vulnerability · Published Oct 19, 2022 · Assigned by GitHub_M

CVE-2022-39260Git vulnerable to Remote Code Execution via Heap overflow in `git shell`

High 8.5

In plain English

A high-severity out-of-bounds write in git from git. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 4.0% (higher than 91% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 3.1)8.5High
Exploit odds (30 days)4.0%top 9.4% of all CVEs
Exploited in the wildNo reportsnot in CISA KEV
Attack toolingNoneno public tooling known

Official description

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.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
AlmaLinux:8git2.39.1-1.el8ALSA-2023:2859
AlmaLinux:9git2.39.1-1.el9ALSA-2023:2319
AlmaLinux:8git-all2.39.1-1.el8ALSA-2023:2859
AlmaLinux:9git-all2.39.1-1.el9ALSA-2023:2319
AlmaLinux:8git-core2.39.1-1.el8ALSA-2023:2859
AlmaLinux:9git-core2.39.1-1.el9ALSA-2023:2319
AlmaLinux:8git-core-doc2.39.1-1.el8ALSA-2023:2859
AlmaLinux:9git-core-doc2.39.1-1.el9ALSA-2023:2319
AlmaLinux:8git-credential-libsecret2.39.1-1.el8ALSA-2023:2859
AlmaLinux:9git-credential-libsecret2.39.1-1.el9ALSA-2023:2319
AlmaLinux:8git-daemon2.39.1-1.el8ALSA-2023:2859
AlmaLinux:9git-daemon2.39.1-1.el9ALSA-2023:2319
AlmaLinux:8git-email2.39.1-1.el8ALSA-2023:2859
AlmaLinux:9git-email2.39.1-1.el9ALSA-2023:2319
AlmaLinux:8git-gui2.39.1-1.el8ALSA-2023:2859
AlmaLinux:9git-gui2.39.1-1.el9ALSA-2023:2319
AlmaLinux:8git-instaweb2.39.1-1.el8ALSA-2023:2859
AlmaLinux:9git-instaweb2.39.1-1.el9ALSA-2023:2319
AlmaLinux:8git-subtree2.39.1-1.el8ALSA-2023:2859
AlmaLinux:9git-subtree2.39.1-1.el9ALSA-2023:2319
AlmaLinux:8git-svn2.39.1-1.el8ALSA-2023:2859
AlmaLinux:9git-svn2.39.1-1.el9ALSA-2023:2319
AlmaLinux:8gitk2.39.1-1.el8ALSA-2023:2859
AlmaLinux:9gitk2.39.1-1.el9ALSA-2023:2319
AlmaLinux:8gitweb2.39.1-1.el8ALSA-2023:2859
AlmaLinux:9gitweb2.39.1-1.el9ALSA-2023:2319
AlmaLinux:8perl-Git2.39.1-1.el8ALSA-2023:2859
AlmaLinux:9perl-Git2.39.1-1.el9ALSA-2023:2319
AlmaLinux:8perl-Git-SVN2.39.1-1.el8ALSA-2023:2859
AlmaLinux:9perl-Git-SVN2.39.1-1.el9ALSA-2023:2319
Alpine:v3.20git2.38.1-r0ALPINE-CVE-2022-39260
Alpine:v3.21git2.38.1-r0ALPINE-CVE-2022-39260
Alpine:v3.22git2.38.1-r0ALPINE-CVE-2022-39260
Alpine:v3.23git2.38.1-r0ALPINE-CVE-2022-39260
Alpine:v3.24git2.38.1-r0ALPINE-CVE-2022-39260
Debian:12git1:2.38.1-1DEBIAN-CVE-2022-39260
Debian:13git1:2.38.1-1DEBIAN-CVE-2022-39260
Debian:14git1:2.38.1-1DEBIAN-CVE-2022-39260
Ubuntu:22.04:LTSgit1:2.34.1-1ubuntu1.5UBUNTU-CVE-2022-39260
Ubuntu:22.04:LTSgit1:2.34.1-1ubuntu1.5USN-5686-1

Affected products (as reported)

VendorProductVersions
git git < 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.34.0, < 2.35.5> 2.35.0, < 2.36.3> 2.37.0, < 2.37.4

Weakness: CWE-787, CWE-122 · Vector: CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H

References