Lucene search

K
suseSuseOPENSUSE-SU-2019:1888-1
HistoryAug 14, 2019 - 12:00 a.m.

Security update for libheimdal (moderate)

2019-08-1400:00:00
lists.opensuse.org
77

7.5 High

CVSS3

Attack Vector

NETWORK

Attack Complexity

HIGH

Privileges Required

LOW

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

HIGH

Availability Impact

HIGH

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

6 Medium

CVSS2

Access Vector

NETWORK

Access Complexity

MEDIUM

Authentication

SINGLE

Confidentiality Impact

PARTIAL

Integrity Impact

PARTIAL

Availability Impact

PARTIAL

AV:N/AC:M/Au:S/C:P/I:P/A:P

0.003 Low

EPSS

Percentile

65.4%

An update that fixes two vulnerabilities is now available.

Description:

This update for libheimdal fixes the following issues:

libheimdal was updated to version 7.7.0:

  • Bug fixes:

    • PKCS#11 hcrypto back-end:

      • initialize the p11_module_load function list
      • verify that not only is a mechanism present but that its mechanism
        info states that it offers the required encryption, decryption or
        digest services
    • krb5:

      • Starting with 7.6, Heimdal permitted requesting authenticated
        anonymous tickets. However, it did not verify that a KDC in fact
        returned an anonymous ticket when one was requested.
      • Cease setting the KDCOption reaquest_anonymous flag when issuing
        S4UProxy (constrained delegation) TGS requests.
      • when the Win2K PKINIT compatibility option is set, do not require
        krbtgt otherName to match when validating KDC certificate.
      • set PKINIT_BTMM flag per Apple implementation
      • use memset_s() instead of memset()
    • kdc:

      • When generating KRB5SignedPath in the AS, use the reply client name
        rather than the one from the request, so validation will work
        correctly in the TGS.
      • allow checksum of PA-FOR-USER to be HMAC_MD5. Even if TGT used an
        enctype with a different checksum. Per [MS-SFU] 2.2.1 PA-FOR-USER
        the checksum is always HMAC_MD5, and that’s what Windows and MIT
        clients send. In Heimdal both the client and kdc use instead the
        checksum of the TGT, and therefore work with each other but Windows
        and MIT clients fail against Heimdal KDC. Both Windows and MIT KDC
        would allow any keyed checksum to be used so Heimdal client work
        fine against it. Change Heimdal KDC to allow HMAC_MD5 even for non
        RC4 based TGT in order to support per-spec clients.
      • use memset_s() instead of memset()
      • Detect Heimdal 1.0 through 7.6 clients that issue S4UProxy
        (constrained delegation) TGS Requests with the request anonymous
        flag set. These requests will be treated as S4UProxy requests and
        not anonymous requests.
    • HDB:

      • Set SQLite3 backend default page size to 8KB.
      • Add hdb_set_sync() method
    • kadmind:

      • disable HDB sync during database load avoiding unnecessary disk i/o.
    • ipropd:

      • disable HDB sync during receive_everything. Doing an fsync
        per-record when receiving the complete HDB is a performance
        disaster. Among other things, if the HDB is very large, then one
        slave receving a full HDB can cause
        other slaves to timeout and, if HDB write activity is high enough to
        cause iprop log truncation, then also need full syncs, which leads to a
        cycle of full syncs for all slaves until HDB write activity drops.
        Allowing the iprop log to be larger helps, but improving
        receive_everything() performance helps even more.
    • kinit:

      • Anonymous PKINIT tickets discard the realm information used to
        locate the issuing AS. Store the issuing realm in the credentials
        cache in order to locate a KDC which can renew them.
      • Do not leak the result of krb5_cc_get_config() when determining
        anonymous PKINIT start realm.
    • klist:

      • Show transited-policy-checked, ok-as-delegate and anonymous flags
        when listing credentials.
    • tests:

      • Regenerate certs so that they expire before the 2038 armageddon so
        the test suite will pass on 32-bit
        operating systems until the underlying issues can be resolved.
    • documentation:

      • rename verify-password to verify-password-quality
      • hprop default mode is encrypt
      • kadmind “all” permission does not include “get-keys”
      • verify-password-quality might not be stateless

Version 7.6.0:

  • Security (#555):

    • CVE-2018-16860 Heimdal KDC: Reject PA-S4U2Self with unkeyed checksum

      When the Heimdal KDC checks the checksum that is placed on the
      S4U2Self packet by the server to protect the requested principal against
      modification, it does not confirm that the checksum algorithm that
      protects the user name (principal) in the request is keyed. This allows a
      man-in-the-middle attacker who can intercept the request to the KDC to
      modify the packet by replacing the user name (principal) in the request
      with any desired user name (principal) that exists in the KDC and replace
      the checksum protecting that name with a CRC32 checksum (which requires no
      prior knowledge to compute). This would allow a S4U2Self ticket requested
      on behalf of user name (principal) user(a)EXAMPLE.COM to any service to be
      changed to a S4U2Self ticket with a user name (principal) of
      Administrator(a)EXAMPLE.COM. This ticket would then contain the PAC of the
      modified user name (principal).

    • CVE-2019-12098, client-only:

      RFC8062 Section 7 requires verification of the PA-PKINIT-KX key
      exchange when anonymous PKINIT is used. Failure to do so can permit an
      active attacker to become a man-in-the-middle.

  • Bug fixes:

    • Happy eyeballs: Don’t wait for responses from known-unreachable KDCs.

    • kdc:

      • check return copy_Realm, copy_PrincipalName, copy_EncryptionKey
    • kinit:

      • cleanup temporary ccaches
      • see man page for “kinit --anonymous” command line syntax change
    • kdc:

      • Make anonymous AS-requests more RFC8062-compliant. Updated expired
        test certificates
  • Features:

    • kuser: support authenticated anonymous AS-REQs in kinit
    • kdc: support for anonymous TGS-REQs
    • kgetcred support for anonymous service tickets
    • Support builds with OpenSSL 1.1.1

This update was imported from the openSUSE:Leap:15.0:Update update project.

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 Backports SLE-15-SP1:

    zypper in -t patch openSUSE-2019-1888=1

7.5 High

CVSS3

Attack Vector

NETWORK

Attack Complexity

HIGH

Privileges Required

LOW

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

HIGH

Availability Impact

HIGH

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

6 Medium

CVSS2

Access Vector

NETWORK

Access Complexity

MEDIUM

Authentication

SINGLE

Confidentiality Impact

PARTIAL

Integrity Impact

PARTIAL

Availability Impact

PARTIAL

AV:N/AC:M/Au:S/C:P/I:P/A:P

0.003 Low

EPSS

Percentile

65.4%