Skip to content
OpenAdvisories
High · 8.5 CVE-2022-39260 EUVD-2022-41771

Git vulnerable to Remote Code Execution via Heap overflow in `git shell`

Published Oct 19, 2022 · Updated Aug 3, 2024 · Assigned by GitHub_M

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 products

VendorProductAffectedFixed
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 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 git 1:2.38.1-1 —
Debian 13 git 1:2.38.1-1 —
Debian 12 git 1:2.38.1-1 —
Debian 11 git 1:2.30.2-1+deb11u1 DSA-5332-1
Debian 10 git 1:2.20.1-2+deb10u5 DLA-3239-1
ReleasePackageFixed inAdvisory
Ubuntu 22.04 LTS git 1:2.34.1-1ubuntu1.5 USN-5686-1
Ubuntu 20.04 LTS git 1:2.25.1-1ubuntu3.6 USN-5686-1
Ubuntu 18.04 LTS git 1:2.17.1-1ubuntu0.13 USN-5686-1
Show 1 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu Pro 16.04 LTS git 1:2.7.4-0ubuntu1.10+esm3 USN-5686-2
ReleasePackageFixed inAdvisory
RHEL 9 git +14 2.39.1-1.el9 RHSA-2023:2319
RHEL 8 git +14 2.39.1-1.el8 RHSA-2023:2859
Show 1 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
RHEL 8.6 EUS git +14 2.31.8-1.el8_6 RHSA-2024:0407

AlmaLinux

Errata ↗
ReleasePackageFixed inAdvisory
AlmaLinux 9 git +14 2.39.1-1.el9 ALSA-2023:2319
AlmaLinux 8 git +14 2.39.1-1.el8 ALSA-2023:2859
ReleasePackageFixed inAdvisory
SLES 15 SP4 git 2.35.3-150300.10.18.1 SUSE-SU-2022:3931-1
SLES 15 SP3 git 2.35.3-150300.10.18.1 SUSE-SU-2022:3931-1
SLES 15 SP2 git 2.26.2-150000.47.1 SUSE-SU-2023:0418-1
SLES 15 SP1 git 2.26.2-150000.47.1 SUSE-SU-2023:0418-1
SLES 12 SP5 git 2.26.2-27.60.1 SUSE-SU-2022:4271-1
Show 8 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SLES for SAP 15 SP2 git 2.26.2-150000.47.1 SUSE-SU-2023:0418-1
SLES for SAP 15 SP1 git 2.26.2-150000.47.1 SUSE-SU-2023:0418-1
SLES for SAP 12 SP5 git 2.26.2-27.60.1 SUSE-SU-2022:4271-1
SLE HPC 15 SP2 git 2.26.2-150000.47.1 SUSE-SU-2023:0418-1
SLE HPC 15 SP1 git 2.26.2-150000.47.1 SUSE-SU-2023:0418-1
SUSE OpenStack Cloud 8 git 2.26.2-27.60.1 SUSE-SU-2022:4271-1
SUSE HPE Helion OpenStack 8 git 2.26.2-27.60.1 SUSE-SU-2022:4271-1
SUSE Enterprise Storage 7 git 2.26.2-150000.47.1 SUSE-SU-2023:0418-1
ReleasePackageFixed inAdvisory
openSUSE Tumbleweed git 2.38.1-1.1 openSUSE-SU-2024:12487-1
openSUSE Leap 15.4 git 2.26.2-150000.47.1 SUSE-SU-2023:0418-1, SUSE-SU-2022:3931-1
openSUSE Leap 15.3 git 2.35.3-150300.10.18.1 SUSE-SU-2022:3931-1
ReleasePackageFixed inAdvisory
Alpine v3.24 git 2.38.1-r0 —
Alpine v3.23 git 2.38.1-r0 —
Alpine v3.22 git 2.38.1-r0 —
Alpine v3.21 git 2.38.1-r0 —
Alpine v3.20 git 2.38.1-r0 —
Show 7 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Alpine v3.19 git 2.38.1-r0 —
Alpine v3.18 git 2.38.1-r0 —
Alpine v3.17 git 2.38.1-r0 —
Alpine v3.16 git 2.36.3-r0 —
Alpine v3.15 git 2.34.5-r0 —
Alpine v3.14 git 2.32.4-r0 —
Alpine v3.13 git 2.30.6-r0 —

Amazon Linux

ReleasePackageFixed inAdvisory
Amazon Linux 2023 git +16 2.39.1-1.amzn2023.0.2 ALAS2023-2023-065
Amazon Linux 2 git +16 2.38.1-1.amzn2.0.1 ALAS2-2022-1886

Oracle Linux

ReleasePackageFixed inAdvisory
Oracle Linux 9 git +14 2.39.1-1.el9 ELSA-2023-2319
Oracle Linux 8 git +14 2.39.1-1.el8 ELSA-2023-2859

Wolfi

ReleasePackageFixed inAdvisory
Wolfi rolling git 2.38.1-r0 —

Advisories 22

References