Lucene search

K
suseSuseOPENSUSE-SU-2022:0283-1
HistoryFeb 01, 2022 - 12:00 a.m.

Security update for samba (important)

2022-02-0100:00:00
lists.opensuse.org
37

8.8 High

CVSS3

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

LOW

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

HIGH

Availability Impact

HIGH

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

9 High

CVSS2

Access Vector

NETWORK

Access Complexity

LOW

Authentication

SINGLE

Confidentiality Impact

COMPLETE

Integrity Impact

COMPLETE

Availability Impact

COMPLETE

AV:N/AC:L/Au:S/C:C/I:C/A:C

An update that solves 8 vulnerabilities, contains one
feature and has two fixes is now available.

Description:

  • CVE-2021-44141: Information leak via symlinks of existance of files or
    directories outside of the exported share; (bso#14911); (bsc#1193690);
  • CVE-2021-44142: Out-of-bounds heap read/write vulnerability in VFS
    module vfs_fruit allows code execution; (bso#14914); (bsc#1194859);
  • CVE-2022-0336: Samba AD users with permission to write to an account can
    impersonate arbitrary services; (bso#14950); (bsc#1195048);

samba was updated to 4.15.4 (jsc#SLE-23329);

  • Duplicate SMB file_ids leading to Windows client cache poisoning;
    (bso#14928);
  • Failed to parse NTLMv2_RESPONSE length 95 - Buffer Size Error -
    NT_STATUS_BUFFER_TOO_SMALL; (bso#14932);
  • kill_tcp_connections does not work; (bso#14934);
  • Can’t connect to Windows shares not requiring authentication using
    KDE/Gnome; (bso#14935);
  • smbclient -L doesn’t set “client max protocol” to NT1 before calling the
    “Reconnecting with SMB1 for workgroup listing” path; (bso#14939);
  • Cross device copy of the crossrename module always fails; (bso#14940);
  • symlinkat function from VFS cap module always fails with an error;
    (bso#14941);
  • Fix possible fsp pointer deference; (bso#14942);
  • Missing pop_sec_ctx() in error path inside close_directory();
    (bso#14944);
  • “smbd --build-options” no longer works without an smb.conf file;
    (bso#14945);

Samba was updated to version 4.15.3

  • CVE-2021-43566: Symlink race error can allow directory creation
    outside of the exported share; (bsc#1139519);
  • CVE-2021-20316: Symlink race error can allow metadata read and modify
    outside of the exported share; (bsc#1191227);
  • Reorganize libs packages. Split samba-libs into samba-client-libs,
    samba-libs, samba-winbind-libs and samba-ad-dc-libs, merging samba
    public libraries depending on internal samba libraries into these
    packages as there were dependency problems everytime one of these public
    libraries changed its version (bsc#1192684). The devel packages are
    merged into samba-devel.
  • Rename package samba-core-devel to samba-devel
  • Update the symlink create by samba-dsdb-modules to private samba ldb
    modules following libldb2 changes from /usr/lib64/ldb/samba to
    /usr/lib64/ldb2/modules/ldb/samba

krb5 was updated to 1.16.3 to 1.19.2

  • Fix a denial of service attack against the KDC encrypted challenge code;
    (CVE-2021-36222);
  • Fix a memory leak when gss_inquire_cred() is called without a credential
    handle.

Changes from 1.19.1:

  • Fix a linking issue with Samba.
  • Better support multiple pkinit_identities values by checking whether
    certificates can be loaded for each value.

Changes from 1.19

Administrator experience
* When a client keytab is present, the GSSAPI krb5 mech will refresh
credentials even if the current credentials were acquired manually.
* It is now harder to accidentally delete the K/M entry from a KDB.
Developer experience
* gss_acquire_cred_from() now supports the “password” and “verify”
options, allowing credentials to be acquired via password and verified
using a keytab key.
* When an application accepts a GSS security context, the new
GSS_C_CHANNEL_BOUND_FLAG will be set if the initiator and acceptor
both provided matching channel bindings.
* Added the GSS_KRB5_NT_X509_CERT name type, allowing S4U2Self requests
to identify the desired client principal by certificate.
* PKINIT certauth modules can now cause the hw-authent flag to be set in
issued tickets.
* The krb5_init_creds_step() API will now issue the same password
expiration warnings as krb5_get_init_creds_password(). Protocol
evolution
* Added client and KDC support for Microsoft’s Resource-Based
Constrained Delegation, which allows cross-realm S4U2Proxy requests. A
third-party database module is required for KDC support.
* kadmin/admin is now the preferred server principal name for kadmin
connections, and the host-based form is no longer created by default.
The client will still try the host-based form as a fallback.
* Added client and server support for Microsoft’s KERB_AP_OPTIONS_CBT
extension, which causes channel bindings to be required for the
initiator if the acceptor provided them. The client will send this
option if the client_aware_gss_bindings profile option is set. User
experience
* kinit will now issue a warning if the des3-cbc-sha1 encryption type is
used in the reply. This encryption type will be deprecated and removed
in future releases.
* Added kvno flags --out-cache, --no-store, and --cached-only (inspired
by Heimdal’s kgetcred).

Changes from 1.18.3

  • Fix a denial of service vulnerability when decoding Kerberos protocol
    messages.
  • Fix a locking issue with the LMDB KDB module which could cause KDC and
    kadmind processes to lose access to the database.
  • Fix an assertion failure when libgssapi_krb5 is repeatedly loaded and
    unloaded while libkrb5support remains loaded.

Changes from 1.18.2

  • Fix a SPNEGO regression where an acceptor using the default credential
    would improperly filter mechanisms, causing a negotiation failure.
  • Fix a bug where the KDC would fail to issue tickets if the local krbtgt
    principal’s first key has a single-DES enctype.
  • Add stub functions to allow old versions of OpenSSL libcrypto to link
    against libkrb5.
  • Fix a NegoEx bug where the client name and delegated credential might
    not be reported.

Changes from 1.18.1

  • Fix a crash when qualifying short hostnames when the system has no
    primary DNS domain.
  • Fix a regression when an application imports “service@” as a GSS
    host-based name for its acceptor credential handle.
  • Fix KDC enforcement of auth indicators when they are modified by the KDB
    module.
  • Fix removal of require_auth string attributes when the LDAP KDB module
    is used.
  • Fix a compile error when building with musl libc on Linux.
  • Fix a compile error when building with gcc 4.x.
  • Change the KDC constrained delegation precedence order for consistency
    with Windows KDCs.

Changes from 1.18 Administrator experience:
* Remove support for single-DES encryption types.
* Change the replay cache format to be more efficient and robust. Replay
cache filenames using the new format end with “.rcache2” by default.
* setuid programs will automatically ignore environment variables that
normally affect krb5 API functions, even if the caller does not use
krb5_init_secure_context().
* Add an “enforce_ok_as_delegate” krb5.conf relation to disable
credential forwarding during GSSAPI authentication unless the KDC sets
the ok-as-delegate bit in the service ticket.
* Use the permitted_enctypes krb5.conf setting as the default value for
default_tkt_enctypes and default_tgs_enctypes. Developer experience:
* Implement krb5_cc_remove_cred() for all credential cache types.
* Add the krb5_pac_get_client_info() API to get the client account name
from a PAC. Protocol evolution:
* Add KDC support for S4U2Self requests where the user is identified by
X.509 certificate. (Requires support for certificate lookup from a
third-party KDB module.)
* Remove support for an old (“draft 9”) variant of PKINIT.
* Add support for Microsoft NegoEx. (Requires one or more third-party
GSS modules implementing NegoEx mechanisms.) User experience:
* Add support for “dns_canonicalize_hostname=fallback”, causing
host-based principal names to be tried first without DNS
canonicalization, and again with DNS canonicalization if the
un-canonicalized server is not found.
* Expand single-component hostnames in host-based principal names when
DNS canonicalization is not used, adding the system’s first DNS search
path as a suffix. Add a “qualify_shortname” krb5.conf relation to
override this suffix or disable expansion.
* Honor the transited-policy-checked ticket flag on application servers,
eliminating the requirement to configure capaths on servers in some
scenarios. Code quality:
* The libkrb5 serialization code (used to export and import krb5 GSS
security contexts) has been simplified and made type-safe.
* The libkrb5 code for creating KRB-PRIV, KRB-SAFE, and KRB-CRED
messages has been revised to conform to current coding practices.
* The test suite has been modified to work with macOS System Integrity
Protection enabled.
* The test suite incorporates soft-pkcs11 so that PKINIT PKCS11 support
can always be tested.

Changes from 1.17.1

  • Fix a bug preventing “addprinc -randkey -kvno” from working in kadmin.
  • Fix a bug preventing time skew correction from working when a KCM
    credential cache is used.

Changes from 1.17: Administrator experience:

  • A new Kerberos database module using the Lightning Memory-Mapped
    Database library (LMDB) has been added. The LMDB KDB module should be
    more performant and more robust than the DB2 module, and may become the
    default module for new databases in a future release.
  • “kdb5_util dump” will no longer dump policy entries when specific
    principal names are requested. Developer experience:
  • The new krb5_get_etype_info() API can be used to retrieve enctype, salt,
    and string-to-key parameters from the KDC for a client principal.
  • The new GSS_KRB5_NT_ENTERPRISE_NAME name type allows enterprise
    principal names to be used with GSS-API functions.
  • KDC and kadmind modules which call com_err() will now write to the log
    file in a format more consistent with other log messages.
  • Programs which use large numbers of memory credential caches should
    perform better. Protocol evolution:
  • The SPAKE pre-authentication mechanism is now supported. This mechanism
    protects against password dictionary attacks without requiring any
    additional infrastructure such as certificates. SPAKE is enabled by
    default on clients, but must be manually enabled on the KDC for this
    release.
  • PKINIT freshness tokens are now supported. Freshness tokens can protect
    against scenarios where an attacker uses temporary access to a smart
    card to generate authentication requests for the future.
  • Password change operations now prefer TCP over UDP, to avoid spurious
    error messages about replays when a response packet is dropped.
  • The KDC now supports cross-realm S4U2Self requests when used with a
    third-party KDB module such as Samba’s. The client code for cross-realm
    S4U2Self requests is also now more robust. User experience:
  • The new ktutil addent -f flag can be used to fetch salt information from
    the KDC for password-based keys.
  • The new kdestroy -p option can be used to destroy a credential cache
    within a collection by client principal name.
  • The Kerberos man page has been restored, and documents the environment
    variables that affect programs using the Kerberos library. Code quality:
  • Python test scripts now use Python 3.
  • Python test scripts now display markers in verbose output, making it
    easier to find where a failure occurred within the scripts.
  • The Windows build system has been simplified and updated to work with
    more recent versions of Visual Studio. A large volume of unused
    Windows-specific code has been removed. Visual Studio 2013
    or later is now required.
  • Build with full Cyrus SASL support. Negotiating SASL credentials with an
    EXTERNAL bind mechanism requires interaction. Kerberos provides its
    own interaction function that skips all interaction, thus preventing the
    mechanism from working. ldb was updated to version 2.4.1
    (jsc#SLE-23329);

  • Release 2.4.1

    • Corrected python behaviour for ‘in’ for LDAP attributes contained as
      part of ldb.Message; (bso#14845);
    • Fix memory handling in ldb.msg_diff; (bso#14836);
  • Release 2.4.0

    • pyldb: Fix Message.items() for a message containing elements
    • pyldb: Add test for Message.items()
    • tests: Use ldbsearch '–scope instead of ‘-s’
    • Change page size of guidindexpackv1.ldb
    • Use a 1MiB lmdb so the test also passes on aarch64 CentOS stream
    • attrib_handler casefold: simplify space dropping
    • fix ldb_comparison_fold off-by-one overrun
    • CVE-2020-27840: pytests: move Dn.validate test to ldb
    • CVE-2020-27840 ldb_dn: avoid head corruption in ldb_dn_explode
    • CVE-2021-20277 ldb/attrib_handlers casefold: stay in bounds
    • CVE-2021-20277 ldb tests: ldb_match tests with extra spaces
    • improve comments for ldb_module_connect_backend()
    • test/ldb_tdb: correct introductory comments
    • ldb.h: remove undefined async_ctx function signatures
    • correct comments in attrib_handers val_to_int64
    • dn tests use cmocka print functions
    • ldb_match: remove redundant check
    • add tests for ldb_wildcard_compare
    • ldb_match: trailing chunk must match end of string
    • pyldb: catch potential overflow error in py_timestring
    • ldb: remove some 'if PY3’s in tests

talloc was updated to 2.3.3:

  • various bugfixes
  • python: Ensure reference counts are properly incremented
  • Change pytalloc source to LGPL
  • Upgrade waf to 2.0.18 to fix a cross-compilation issue; (bso#13846).

tdb was updated to version 1.4.4:

  • various bugfixes

tevent was updated to version 0.11.0:

  • Add custom tag to events
  • Add event trace api

sssd was updated to:

  • Fix tests test_copy_ccache & test_copy_keytab for later versions of krb5
  • Update the private ldb modules installation following libldb2 changes
    from /usr/lib64/ldb/samba to /usr/lib64/ldb2/modules/ldb/samba

apparmor was updated to:

  • Cater for changes to ldb packaging to allow parallel installation with
    libldb (bsc#1192684).
  • add profile for samba-bgqd (bsc#1191532).

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-2022-283=1

8.8 High

CVSS3

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

LOW

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

HIGH

Availability Impact

HIGH

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

9 High

CVSS2

Access Vector

NETWORK

Access Complexity

LOW

Authentication

SINGLE

Confidentiality Impact

COMPLETE

Integrity Impact

COMPLETE

Availability Impact

COMPLETE

AV:N/AC:L/Au:S/C:C/I:C/A:C