Lucene search

K
suseSuseOPENSUSE-SU-2021:2555-1
HistoryJul 29, 2021 - 12:00 a.m.

Security update for git (moderate)

2021-07-2900:00:00
lists.opensuse.org
53

7.5 High

CVSS3

Attack Vector

NETWORK

Attack Complexity

HIGH

Privileges Required

NONE

User Interaction

REQUIRED

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

HIGH

Availability Impact

HIGH

CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H

5.1 Medium

CVSS2

Access Vector

NETWORK

Access Complexity

HIGH

Authentication

NONE

Confidentiality Impact

PARTIAL

Integrity Impact

PARTIAL

Availability Impact

PARTIAL

AV:N/AC:H/Au:N/C:P/I:P/A:P

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=<how> 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 <rev>^!and<rev>^-<n>, but git range-diff` did not
    understand them.
  • The git range-diff command learned --(left|right)-only option to
    show only one side of the compared range.
  • 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.
  • 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.
  • git maintenance tool learned a new pack-refs maintenance 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-list command learned --disk-usage option.
  • git diff, git log --{skip,rotate}-to=&lt;path&gt; allows the user to
    discard diff output for early paths or move them to the end of the
    output.
  • git difftool learned --skip-to=&lt;path&gt; option to restart an
    interrupted session from an arbitrary path.
  • git grep has been tweaked to be limited to the sparse checkout paths.
  • git rebase --[no-]fork-point gained a configuration variable
    rebase.forkPoint so that users do not have to keep specifying a
    non-default setting.
  • git stash did not work well in a sparsely checked out working tree.
  • Newline characters in the host and path part of git:// URL are now
    forbidden.
  • Userdiff updates for PHP, Rust, CSS
  • Avoid administrator error leading to data loss with git push --force-with-lease[=&lt;ref&gt;] by introducing --force-if-includes
  • only pull asciidoctor for the default ruby version
  • The --committer-date-is-author-date option of rebase and am
    subcommands lost the e-mail address by mistake in 2.29
  • The transport protocol v2 has become the default again
  • git worktree gained a repair subcommand, git init --separate-git-dir no longer corrupts administrative data related to
    linked worktrees
  • git maintenance introduced for repository maintenance tasks
  • fetch.writeCommitGraph is deemed to be still a bit too risky and is no
    longer part of the feature.experimental set.
  • The commands in the diff family honors the diff.relative
    configuration variable.
  • 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.
  • git gui now allows opening work trees from the start-up dialog.
  • git bugreport reports what shell is in use.
  • 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.
  • git describe will always use the long version when giving its output
    based misplaced tags
  • git pull issues a warning message until the pull.rebase
    configuration variable is explicitly given

Patch 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=1

OSVersionArchitecturePackageVersionFilename
openSUSE Leap15.3aarch64<Β - openSUSE Leap 15.3 (aarch64 ppc64le s390x x86_64):- openSUSE Leap 15.3 (aarch64 ppc64le s390x x86_64):.aarch64.rpm
openSUSE Leap15.3ppc64le<Β - openSUSE Leap 15.3 (aarch64 ppc64le s390x x86_64):- openSUSE Leap 15.3 (aarch64 ppc64le s390x x86_64):.ppc64le.rpm
openSUSE Leap15.3s390x<Β - openSUSE Leap 15.3 (aarch64 ppc64le s390x x86_64):- openSUSE Leap 15.3 (aarch64 ppc64le s390x x86_64):.s390x.rpm
openSUSE Leap15.3x86_64<Β - openSUSE Leap 15.3 (aarch64 ppc64le s390x x86_64):- openSUSE Leap 15.3 (aarch64 ppc64le s390x x86_64):.x86_64.rpm
openSUSE Leap15.3noarch<Β - openSUSE Leap 15.3 (noarch):- openSUSE Leap 15.3 (noarch):.noarch.rpm

7.5 High

CVSS3

Attack Vector

NETWORK

Attack Complexity

HIGH

Privileges Required

NONE

User Interaction

REQUIRED

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

HIGH

Availability Impact

HIGH

CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H

5.1 Medium

CVSS2

Access Vector

NETWORK

Access Complexity

HIGH

Authentication

NONE

Confidentiality Impact

PARTIAL

Integrity Impact

PARTIAL

Availability Impact

PARTIAL

AV:N/AC:H/Au:N/C:P/I:P/A:P