{"thread":{"id":"58644","subject":"[ANNOUNCE] Git v2.38.1 and others","startedAt":"2022-10-18T17:07:31Z","lastAt":"2022-10-18T17:07:31Z","messageCount":1,"participants":["Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"465211","messageId":"xmqq4jw1uku5.fsf@gitster.g","threadId":"58644","inReplyTo":null,"subject":"[ANNOUNCE] Git v2.38.1 and others","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2022-10-18T17:01:54Z","receivedAt":"2022-10-18T17:07:31Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"A maintenance release v2.38.1, together with releases for older\nmaintenance tracks v2.30.6, v2.31.5, v2.32.4, v2.33.5, v2.34.5,\nv2.35.5, v2.36.3, and v2.37.4, are now available at the usual\nplaces.\n\nThese maintenance releases are to address the security issues\nidentified as CVE-2022-39253 and CVE-2022-39260.\n\nThe tarballs are found at:\n\n    https://www.kernel.org/pub/software/scm/git/\n\nThe following public repositories all have a copy of the v2.38.1\ntag, as well as the tags for older maintenance tracks for v2.30.6,\nv2.31.5, v2.32.4, v2.33.5, v2.34.5, v2.35.5, v2.36.3, and v2.37.4.\n\n  url = https://git.kernel.org/pub/scm/git/git\n  url = https://kernel.googlesource.com/pub/scm/git/git\n  url = git://repo.or.cz/alt-git.git\n  url = https://github.com/gitster/git\n\nCVE-2022-39253:\n   When relying on the `--local` clone optimization, Git dereferences\n   symbolic links in the source repository before creating hardlinks\n   (or copies) of the dereferenced link in the destination repository.\n   This can lead to surprising behavior where arbitrary files are\n   present in a repository's `$GIT_DIR` when cloning from a malicious\n   repository.\n\n   Git will no longer dereference symbolic links via the `--local`\n   clone mechanism, and will instead refuse to clone repositories that\n   have symbolic links present in the `$GIT_DIR/objects` directory.\n\n   Additionally, the value of `protocol.file.allow` is changed to be\n   \"user\" by default.\n\nCVE-2022-39260:\n   An overly-long command string given to `git shell` can result in\n   overflow in `split_cmdline()`, leading to arbitrary heap writes and\n   remote code execution when `git shell` is exposed and the directory\n   `$HOME/git-shell-commands` exists.\n\n   `git shell` is taught to refuse interactive commands that are\n   longer than 4MiB in size. `split_cmdline()` is hardened to reject\n   inputs larger than 2GiB.\n\nCredit for finding CVE-2022-39253 goes to Cory Snider of Mirantis. The\nfix was authored by Taylor Blau, with help from Johannes Schindelin.\n\nCredit for finding CVE-2022-39260 goes to Kevin Backhouse of GitHub.\nThe fix was authored by Kevin Backhouse, Jeff King, and Taylor Blau.\n"}]}