Hash: SHA256

             AUSCERT External Security Bulletin Redistribution

                          Security update for git
                               30 July 2021


        AusCERT Security Bulletin Summary

Product:           git
Publisher:         SUSE
Operating System:  SUSE
Impact/Access:     Execute Arbitrary Code/Commands -- Remote with User Interaction
                   Denial of Service               -- Remote with User Interaction
Resolution:        Patch/Upgrade
CVE Names:         CVE-2021-21300  

Reference:         ESB-2021.0858

Original Bulletin: 

- --------------------------BEGIN INCLUDED TEXT--------------------

SUSE Security Update: Security update for git


Announcement ID:   SUSE-SU-2021:2555-1
Rating:            moderate
References:        #1168930 #1183026 #1183580
Cross-References:  CVE-2021-21300
Affected Products:
                   SUSE Linux Enterprise Module for Development Tools 15-SP3
                   SUSE Linux Enterprise Module for Basesystem 15-SP3

An update that solves one vulnerability, contains two features and has two
fixes is now available.


This update for git fixes the following issues:
Update from version 2.26.2 to version 2.31.1 (jsc#SLE-18152)
Security fixes:

  o 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#

Non security changes:

  o Add `sysusers` file to create `git-daemon` user.
  o Remove `perl-base` and `openssh-server` dependency on `git-core`and provide
    a `perl-Git` package. (jsc#SLE-17838)
  o `fsmonitor` bug fixes
  o Fix `git bisect` to take an annotated tag as a good/bad endpoint
  o Fix a corner case in `git mv` on case insensitive systems
  o Require only `openssh-clients` where possible (like Tumbleweed or SUSE
    Linux Enterprise >= 15 SP3). (bsc#1183580)
  o Drop `rsync` requirement, not necessary anymore.
  o Use of `pack-redundant` command is discouraged and will trigger a warning.
    The replacement is `repack -d`.
  o The `--format=%(trailers)` mechanism gets enhanced to make it easier to
    design output for machine consumption.
  o No longer give message to choose between rebase or merge upon pull if the
    history `fast-forwards`.
  o The configuration variable `core.abbrev` can be set to `no` to force no
    abbreviation regardless of the hash algorithm
  o `git rev-parse` can be explicitly told to give output as absolute or
    relative path with the `--path-format=(absolute|relative)` option.
  o Bash completion update to make it easier for end-users to add completion
    for their custom `git` subcommands.
  o `git maintenance` learned to drive scheduled maintenance on platforms whose
    native scheduling methods are not 'cron'.
  o 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}`
  o `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.
  o `git log` learned a new `--diff-merges= ` option.
  o `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.
  o `git worktree list` now annotates worktrees as prunable, shows locked and
    prunable attributes in `--porcelain mode`, and gained a `--verbose` option.
  o `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.
  o There are other ways than `..` for a single token to denote a `commit
    range", namely ` ^!` and ` ^- `, but `git range-diff` did not understand
  o The `git range-diff` command learned `--(left|right)-only` option to show
    only one side of the compared range.
  o `git mergetool` feeds three versions (base, local and remote) of a
    conflicted path unmodified. The command learned to optionally prepare these
    files with unconflicted parts already resolved.
  o The `.mailmap` is 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.
  o `git maintenance` tool learned a new `pack-refs` maintenance task.
  o Improved error message given when a configuration variable that is expected
    to have a boolean value.
  o 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.
  o `git rev-list` command learned `--disk-usage` option.
  o `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.
  o `git difftool` learned `--skip-to= ` option to restart an interrupted
    session from an arbitrary path.
  o `git grep` has been tweaked to be limited to the sparse checkout paths.
  o `git rebase --[no-]fork-point` gained a configuration variable
    `rebase.forkPoint` so that users do not have to keep specifying a
    non-default setting.
  o `git stash` did not work well in a sparsely checked out working tree.
  o Newline characters in the host and path part of `git://` URL are now
  o `Userdiff` updates for PHP, Rust, CSS
  o Avoid administrator error leading to data loss with `git push
    --force-with-lease[= ]` by introducing `--force-if-includes`
  o only pull `asciidoctor` for the default ruby version
  o The `--committer-date-is-author-date` option of `rebase` and `am`
    subcommands lost the e-mail address by mistake in 2.29
  o The transport protocol v2 has become the default again
  o `git worktree` gained a `repair` subcommand, `git init --separate-git-dir`
    no longer corrupts administrative data related to linked worktrees
  o `git maintenance` introduced for repository maintenance tasks
  o `fetch.writeCommitGraph` is deemed to be still a bit too risky and is no
    longer part of the `feature.experimental` set.
  o The commands in the `diff` family honors the `diff.relative` configuration
  o `git diff-files` has been taught to say paths that are marked as
    `intent-to-add` are new files, not modified from an empty blob.
  o `git gui` now allows opening work trees from the start-up dialog.
  o `git bugreport` reports what shell is in use.
  o Some repositories have commits that record wrong committer timezone; `git
    fast-import` has an option to pass these timestamps intact to allow
    recreating existing repositories as-is.
  o `git describe` will always use the `long` version when giving its output
    based misplaced tags
  o `git pull` issues a warning message until the `pull.rebase` configuration
    variable is explicitly given

Patch Instructions:

To install this SUSE 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:

  o SUSE Linux Enterprise Module for Development Tools 15-SP3:
    zypper in -t patch SUSE-SLE-Module-Development-Tools-15-SP3-2021-2555=1
  o SUSE Linux Enterprise Module for Basesystem 15-SP3:
    zypper in -t patch SUSE-SLE-Module-Basesystem-15-SP3-2021-2555=1

Package List:

  o SUSE Linux Enterprise Module for Development Tools 15-SP3 (aarch64 ppc64le
    s390x x86_64):
  o SUSE Linux Enterprise Module for Development Tools 15-SP3 (noarch):
  o SUSE Linux Enterprise Module for Basesystem 15-SP3 (aarch64 ppc64le s390x


  o https://www.suse.com/security/cve/CVE-2021-21300.html
  o https://bugzilla.suse.com/1168930
  o https://bugzilla.suse.com/1183026
  o https://bugzilla.suse.com/1183580

- --------------------------END INCLUDED TEXT--------------------

You have received this e-mail bulletin as a result of your organisation's
registration with AusCERT. The mailing list you are subscribed to is
maintained within your organisation, so if you do not wish to continue
receiving these bulletins you should contact your local IT manager. If
you do not know who that is, please send an email to auscert@auscert.org.au
and we will forward your request to the appropriate person.

NOTE: Third Party Rights
This security bulletin is provided as a service to AusCERT's members.  As
AusCERT did not write the document quoted above, AusCERT has had no control
over its content. The decision to follow or act on information or advice
contained in this security bulletin is the responsibility of each user or
organisation, and should be considered in accordance with your organisation's
site policies and procedures. AusCERT takes no responsibility for consequences
which may arise from following or acting on information or advice contained in
this security bulletin.

NOTE: This is only the original release of the security bulletin.  It may
not be updated when updates to the original are made.  If downloading at
a later date, it is recommended that the bulletin is retrieved directly
from the author's website to ensure that the information is still current.

Contact information for the authors of the original document is included
in the Security Bulletin above.  If you have any questions or need further
information, please contact them directly.

Previous advisories and external security bulletins can be retrieved from:


Australian Computer Emergency Response Team
The University of Queensland
Qld 4072

Internet Email: auscert@auscert.org.au
Facsimile:      (07) 3365 7031
Telephone:      (07) 3365 4417 (International: +61 7 3365 4417)
                AusCERT personnel answer during Queensland business hours
                which are GMT+10:00 (AEST).
                On call after hours for member emergencies only.
Comment: http://www.auscert.org.au/render.html?it=1967