Opened 15 months ago

Closed 15 months ago

Last modified 15 months ago

#17524 closed enhancement (fixed)

git-2.39.1

Reported by: Douglas R. Reno Owned by: Bruce Dubbs
Priority: high Milestone: 11.3
Component: BOOK Version: git
Severity: normal Keywords:
Cc:

Description

New point version, a security update for two remote code execution vulnerabilities

Change History (4)

comment:1 by Bruce Dubbs, 15 months ago

Owner: changed from blfs-book to Bruce Dubbs
Status: newassigned

comment:2 by Bruce Dubbs, 15 months ago

Git v2.39.1 Release Notes

This release merges the security fix that appears in v2.30.7; see the release notes for that version for details.

Git v2.30.7 Release Notes

This release addresses the security issues CVE-2022-41903 and CVE-2022-23521.

  • CVE-2022-41903:

git log has the ability to display commits using an arbitrary format with its --format specifiers. This functionality is also exposed to git archive via the export-subst gitattribute.

When processing the padding operators (e.g., %<(, %<|(, %>(, %>>(, or %><( ), an integer overflow can occur in pretty.c::format_and_pad_commit() where a size_t is improperly stored as an int, and then added as an offset to a subsequent memcpy() call.

This overflow can be triggered directly by a user running a command which invokes the commit formatting machinery (e.g., git log --format=...). It may also be triggered indirectly through git archive via the export-subst mechanism, which expands format specifiers inside of files within the repository during a git archive.

This integer overflow can result in arbitrary heap writes, which may result in remote code execution.

  • CVE-2022-23521:

gitattributes are a mechanism to allow defining attributes for paths. These attributes can be defined by adding a .gitattributes file to the repository, which contains a set of file patterns and the attributes that should be set for paths matching this pattern.

When parsing gitattributes, multiple integer overflows can occur when there is a huge number of path patterns, a huge number of attributes for a single pattern, or when the declared attribute names are huge.

These overflows can be triggered via a crafted .gitattributes file that may be part of the commit history. Git silently splits lines longer than 2KB when parsing gitattributes from a file, but not when parsing them from the index. Consequentially, the failure mode depends on whether the file exists in the working tree, the index or both.

This integer overflow can result in arbitrary heap reads and writes, which may result in remote code execution.

comment:3 by Bruce Dubbs, 15 months ago

Resolution: fixed
Status: assignedclosed

Fixed at commits

4fe5cec23e Update to git-2.39.1.
5ad1120ad6 Update to httpd-2.4.55.

comment:4 by Douglas R. Reno, 15 months ago

Issued SA-11.2-071

Note: See TracTickets for help on using tickets.