CVE-2022-39260

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

HIGH
8.8
CVSS Score
Published: October 19, 2022 at 12:00 AM UTC
Updated: June 17, 2026 at 04:58 AM UTC
5 products affected across 5 vendorsDebian LinuxFedoraXcode

Using git by git?

Get instant alerts when new vulnerabilities affect git - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
HIGH8.8
Exploit prediction
EPSS 4%

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

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

v < 14.1
Affected range stops below 14.1, so it looks safe — our inference, not a vendor statement
v < 2.30.62.31.0 ≤ v < 2.31.52.32.0 ≤ v < 2.32.42.33.0 ≤ v < 2.33.52.34.0 ≤ v < 2.34.52.35.0 ≤ v < 2.35.52.36.0 ≤ v < 2.36.32.37.0 ≤ v < 2.37.42.38.0
Affected range stops below 2.30.6, so it looks safe — our inference, not a vendor statement
Affected range stops below 2.31.5, so it looks safe — our inference, not a vendor statement
Affected range stops below 2.32.4, so it looks safe — our inference, not a vendor statement
Affected range stops below 2.33.5, so it looks safe — our inference, not a vendor statement
Affected range stops below 2.34.5, so it looks safe — our inference, not a vendor statement
Affected range stops below 2.35.5, so it looks safe — our inference, not a vendor statement
Affected range stops below 2.36.3, so it looks safe — our inference, not a vendor statement
Affected range stops below 2.37.4, so it looks safe — our inference, not a vendor statement
Git· Gitrubygems
60%
v < 2.30.6v < 2.31.5v < 2.32.4v < 2.33.5v < 2.34.5v < 2.35.5v < 2.36.3v < 2.37.4
Affected range stops below 2.30.6, so it looks safe — our inference, not a vendor statement
Affected range stops below 2.31.5, so it looks safe — our inference, not a vendor statement
Affected range stops below 2.32.4, so it looks safe — our inference, not a vendor statement
Affected range stops below 2.33.5, so it looks safe — our inference, not a vendor statement
Affected range stops below 2.34.5, so it looks safe — our inference, not a vendor statement
Affected range stops below 2.35.5, so it looks safe — our inference, not a vendor statement
Affected range stops below 2.36.3, so it looks safe — our inference, not a vendor statement
Affected range stops below 2.37.4, so it looks safe — our inference, not a vendor statement

CVSS

Attack Vector
NETWORK
Complexity
LOW
Privileges
NONE
User Interaction
REQUIRED
Scope
UNCHANGED
Confidentiality
HIGH
Integrity
HIGH
Availability
HIGH
Vector?

Quick Info

StatusMODIFIED
CWE
CWE-122CWE-787

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card