Bug 2137423 (CVE-2022-39260)

Summary: CVE-2022-39260 git: git shell function that splits command arguments can lead to arbitrary heap writes.
Product: [Other] Security Response Reporter: Zack Miele <zmiele>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED ERRATA QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: hhorak, jorton, opohorel, tmz
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: git 2.30.6, git 2.31.5, git 2.32.4, git 2.33.5, git 2.34.5, git 2.35.5, git 2.36.3, git 2.37.4 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-05-16 15:42:54 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2137427, 2137650, 2137651, 2137652    
Bug Blocks: 2136007    

Description Zack Miele 2022-10-24 20:31:52 UTC
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.

https://github.com/git/git/security/advisories/GHSA-rjr6-wcq6-83p6

Comment 1 Zack Miele 2022-10-24 21:18:57 UTC
Created git tracking bugs for this issue:

Affects: fedora-all [bug 2137427]

Comment 2 Todd Zullinger 2022-10-24 22:19:56 UTC
Fixes were pushed to bodhi before this ticket was filed, so it should be closed manually.

Comment 4 errata-xmlrpc 2023-05-09 07:28:48 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 9

Via RHSA-2023:2319 https://access.redhat.com/errata/RHSA-2023:2319

Comment 5 errata-xmlrpc 2023-05-16 08:20:57 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8

Via RHSA-2023:2859 https://access.redhat.com/errata/RHSA-2023:2859

Comment 6 Product Security DevOps Team 2023-05-16 15:42:52 UTC
This bug is now closed. Further updates for individual products will be reflected on the CVE page(s):

https://access.redhat.com/security/cve/cve-2022-39260

Comment 8 errata-xmlrpc 2024-01-24 16:41:24 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8.6 Extended Update Support

Via RHSA-2024:0407 https://access.redhat.com/errata/RHSA-2024:0407