Packages in this update:
Upstream update including security & bug fixes as well as feature enhancements.
From the upstream release notes:
When relying on the –local clone optimization, Git dereferences
symbolic links in the source repository before creating hardlinks
(or copies) of the dereferenced link in the destination repository.
This can lead to surprising behavior where arbitrary files are
present in a repository’s $GIT_DIR when cloning from a malicious
Git will no longer dereference symbolic links via the –local
clone mechanism, and will instead refuse to clone repositories that
have symbolic links present in the $GIT_DIR/objects directory.
Additionally, the value of protocol.file.allow is changed to be
“user” by default.
An overly-long command string given to git shell can result in
overflow in split_cmdline(), leading to arbitrary heap writes and
remote code execution when git shell is exposed and the directory
git shell is taught to refuse interactive commands that are
longer than 4MiB in size. split_cmdline() is hardened to reject
inputs larger than 2GiB.
Credit for finding CVE-2022-39253 goes to Cory Snider of Mirantis. The
fix was authored by Taylor Blau, with help from Johannes Schindelin.
Credit for finding CVE-2022-39260 goes to Kevin Backhouse of GitHub.
The fix was authored by Kevin Backhouse, Jeff King, and Taylor Blau.