openSUSE-SU-2021:2555-1: moderate: Security update for git

openSUSE Security Update: Security update for git______________________________________________________________________________Announcement ID: openSUSE-SU-2021:2555-1Rating: moderateReferences: #1168930 #1183026 #1183580 SLE-17838 SLE-18152 Cross-References: CVE-2021-21300CVSS scores: CVE-2021-21300 (NVD) : 7.5 CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H CVE-2021-21300 (SUSE): 7.5 CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:HAffected Products: openSUSE Leap 15.3______________________________________________________________________________ An update that solves one vulnerability, contains two features and has two fixes is now available.Description: This update for git fixes the following issues: Update from version 2.26.2 to version 2.31.1 (jsc#SLE-18152) Security fixes: - CVE-2021-21300: On case-insensitive file systems with support for symbolic links, if Git is configured globally to apply delay-capable clean/smudge filters (such as Git LFS), Git could run remote code during a clone. (bsc#1183026) Non security changes: - Add sysusers file to create git-daemon user. - Remove perl-base and openssh-server dependency on git-coreand provide a perl-Git package. (jsc#SLE-17838) - fsmonitor bug fixes - Fix git bisect to take an annotated tag as a good/bad endpoint - Fix a corner case in git mv on case insensitive systems - Require only openssh-clients where possible (like Tumbleweed or SUSE Linux Enterprise >= 15 SP3). (bsc#1183580) - Drop rsync requirement, not necessary anymore. - Use of pack-redundant command is discouraged and will trigger a warning. The replacement is repack -d. - The --format=%(trailers) mechanism gets enhanced to make it easier to design output for machine consumption. - No longer give message to choose between rebase or merge upon pull if the history fast-forwards. - The configuration variable core.abbrev can be set to no to force no abbreviation regardless of the hash algorithm - git rev-parse can be explicitly told to give output as absolute or relative path with the --path-format=(absolute|relative) option. - Bash completion update to make it easier for end-users to add completion for their custom git subcommands. - git maintenance learned to drive scheduled maintenance on platforms whose native scheduling methods are not ‘cron’. - After expiring a reflog and making a single commit, the reflog for the branch would record a single entry that knows both @{0} and @{1}, but we failed to answer “what commit were we on?”, i.e. @{1} - git bundle learns --stdin option to read its refs from the standard input. Also, it now does not lose refs when they point at the same object. - git log learned a new --diff-merges= option. - git ls-files can and does show multiple entries when the index is unmerged, which is a source for confusion unless -s/-u option is in use. A new option --deduplicate has been introduced. - git worktree list now annotates worktrees as prunable, shows locked and prunable attributes in --porcelain mode, and gained a --verbose option. - git clone tries to locally check out the branch pointed at by HEAD of the remote repository after it is done, but the protocol did not convey the information necessary to do so when copying an empty repository. The protocol v2 learned how to do so. - There are other ways than .. for a single token to denote a commit range", namely ^!and^-, but git range-diffdid not understand them. - Thegit range-diffcommand learned–(left|right)-onlyoption to show only one side of the compared range. -git mergetoolfeeds three versions (base, local and remote) of a conflicted path unmodified. The command learned to optionally prepare these files with unconflicted parts already resolved. - The.mailmapis documented to be read only from the root level of a working tree, but a stray file in a bare repository also was read by accident, which has been corrected. -git maintenancetool learned a newpack-refsmaintenance task. - Improved error message given when a configuration variable that is expected to have a boolean value. - Signed commits and tags now allow verification of objects, whose two object names (one in SHA-1, the other in SHA-256) are both signed. -git rev-listcommand learned–disk-usageoption. -git diff, git log –{skip,rotate}-to=
allows the user to discard diff output for early paths or move them to the end of the output. -git difftoollearned–skip-to=
option to restart an interrupted session from an arbitrary path. -git grephas been tweaked to be limited to the sparse checkout paths. -git rebase --[no-]fork-pointgained a configuration variable rebase.forkPointso that users do not have to keep specifying a non-default setting. -git stashdid not work well in a sparsely checked out working tree. - Newline characters in the host and path part ofgit://URL are now forbidden. -Userdiffupdates for PHP, Rust, CSS - Avoid administrator error leading to data loss withgit push --force-with-lease=]by introducing–force-if-includes - only pullasciidoctorfor the default ruby version - The–committer-date-is-author-dateoption ofrebaseandam subcommands lost the e-mail address by mistake in 2.29 - The transport protocol v2 has become the default again -git worktreegained arepairsubcommand,git init --separate-git-dirno longer corrupts administrative data related to linked worktrees -git maintenanceintroduced for repository maintenance tasks -fetch.writeCommitGraphis deemed to be still a bit too risky and is no longer part of thefeature.experimentalset. - The commands in thedifffamily honors thediff.relative configuration variable. -git diff-fileshas been taught to say paths that are marked as intent-to-addare new files, not modified from an empty blob. -git guinow allows opening work trees from the start-up dialog. -git bugreportreports what shell is in use. - Some repositories have commits that record wrong committer timezone; git fast-importhas an option to pass these timestamps intact to allow recreating existing repositories as-is. -git describewill always use thelongversion when giving its output based misplaced tags -git pullissues a warning message until thepull.rebase` configuration variable is explicitly givenPatch Instructions: To install this openSUSE Security Update use the SUSE recommended installation methods like YaST online_update or “zypper patch”. Alternatively you can run the command listed for your product: - openSUSE Leap 15.3: zypper in -t patch openSUSE-SLE-15.3-2021-2555=1Package List: - openSUSE Leap 15.3 (aarch64 ppc64le s390x x86_64): git-2.31.1-10.3.1 git-arch-2.31.1-10.3.1 git-core-2.31.1-10.3.1 git-core-debuginfo-2.31.1-10.3.1 git-credential-gnome-keyring-2.31.1-10.3.1 git-credential-gnome-keyring-debuginfo-2.31.1-10.3.1 git-credential-libsecret-2.31.1-10.3.1 git-credential-libsecret-debuginfo-2.31.1-10.3.1 git-cvs-2.31.1-10.3.1 git-daemon-2.31.1-10.3.1 git-daemon-debuginfo-2.31.1-10.3.1 git-debuginfo-2.31.1-10.3.1 git-debugsource-2.31.1-10.3.1 git-email-2.31.1-10.3.1 git-gui-2.31.1-10.3.1 git-p4-2.31.1-10.3.1 git-svn-2.31.1-10.3.1 git-web-2.31.1-10.3.1 gitk-2.31.1-10.3.1 perl-Git-2.31.1-10.3.1 - openSUSE Leap 15.3 (noarch): git-doc-2.31.1-10.3.1References: