029feec update to 2.39.1 (CVE-2022-41903, CVE-2022-23521)

Authored and Committed by tmz a year ago
    update to 2.39.1 (CVE-2022-41903, CVE-2022-23521)
    
    From the release notes for 2.30.7¹:
    
        * 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.
    
        Credit for finding CVE-2022-41903 goes to Joern Schneeweisz of GitLab.
        An initial fix was authored by Markus Vervier of X41 D-Sec. Credit for
        finding CVE-2022-23521 goes to Markus Vervier and Eric Sesterhenn of X41
        D-Sec. This work was sponsored by OSTIF.
    
        The proposed fixes have been polished and extended to cover additional
        findings by Patrick Steinhardt of GitLab, with help from others on the
        Git security mailing list.
    
    ¹ https://github.com/git/git/raw/v2.39.1/Documentation/RelNotes/2.30.7.txt
    
        
file modified
+4 -1
file modified
+2 -2