[Full-Disclosure] FreeBSD Security Advisory FreeBSD-SA-04:09.kadmind

From: FreeBSD Security Advisories (security-advisories_at_freebsd.org)
Date: 05/05/04

  • Next message: Alerta Redsegura: "RE: [Full-Disclosure] Learn from history?"
    To: FreeBSD Security Advisories <security-advisories@freebsd.org>
    Date: Wed, 5 May 2004 14:26:57 -0700 (PDT)
    
    

    -----BEGIN PGP SIGNED MESSAGE-----
    Hash: SHA1

    =============================================================================
    FreeBSD-SA-04:09.kadmind Security Advisory
                                                              The FreeBSD Project

    Topic: heimdal kadmind remote heap buffer overflow

    Category: contrib
    Module: crypto_heimdal
    Announced: 2004-05-05
    Credits: Evgeny Demidov, VulnDisco, Love Hornquist-Astrand
    Affects: FreeBSD 4 systems built with both Kerberos 4 and Kerberos 5.
                    FreeBSD 5 systems prior to 5.1 built with both Kerberos 4 and
                    Kerberos 5.
    Corrected: 2004-05-05 20:19:48 UTC (RELENG_4, 4.10-PRERELEASE)
                    2004-05-05 20:48:57 UTC (RELENG_4_10, 4.10-RELEASE-RC)
                    2004-05-05 20:15:56 UTC (RELENG_4_9, 4.9-RELEASE-p7)
                    2004-05-05 20:17:51 UTC (RELENG_4_8, 4.8-RELEASE-p20)
    CVE Name: CAN-2004-0434
    FreeBSD only: NO

    For general information regarding FreeBSD Security Advisories,
    including descriptions of the fields above, security branches, and the
    following sections, please visit
    <URL:http://www.freebsd.org/security/>.

    I. Background

    Heimdal implements the Kerberos 5 network authentication protocols.
    The k5admind(8) daemon provides the administrative interface to the
    Kerberos Key Distribution Center (KDC). In some configurations,
    k5admind also includes Kerberos 4 compatibility.

    NOTE: FreeBSD versions prior to 5.1-RELEASE contain optional Kerberos
    4 support. FreeBSD versions 5.1-RELEASE and later do not include
    Kerberos 4 support of any kind.

    II. Problem Description

    An input validation error was discovered in the k5admind code that
    handles the framing of Kerberos 4 compatibility administration
    requests. The code assumed that the length given in the framing was
    always two or more bytes. Smaller lengths will cause k5admind to read
    an arbitrary amount of data into a minimally-sized buffer on the heap.

    Note that this code is not present unless k5admind has been compiled
    with Kerberos 4 support. This will occur if a FreeBSD system is
    compiled with both of the WITH_KERBEROS4 and WITH_KERBEROS5 build flags.
    These flags are never simultaneously set during the FreeBSD binary
    release process; consequently, binary installs of FreeBSD (even with
    Kerberos support installed) are not affected.

    III. Impact

    A remote attacker may send a specially formatted message to k5admind,
    causing it to crash or possibly resulting in arbitrary code execution.

    IV. Workaround

    Disable the Kerberos 4 support in k5admind by running it with the
    `--no-kerberos4' option.

    V. Solution

    Perform one of the following:

    1) Upgrade your vulnerable system to 4-STABLE; or to the RELENG_4_9 or
    RELENG_4_8 security branch dated after the correction date.

    2) To patch your present system:

    The following patches have been verified to apply to FreeBSD 4.8 and
    4.9.

    a) Download the relevant patch from the location below, and verify the
    detached PGP signature using your PGP utility.

    # fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-04:09/kadmind.patch
    # fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-04:09/kadmind.patch.asc

    b) Execute the following commands as root:

    # cd /usr/src
    # patch < /path/to/patch
    # cd /usr/src/kerberos5/tools
    # make obj && make depend && make
    # cd /usr/src/kerberos5/lib
    # make obj && make depend && make
    # cd /usr/src/kerberos5/libexec/k5admind
    # make obj && make depend && make all install

    VI. Correction details

    The following list contains the revision numbers of each file that was
    corrected in FreeBSD.

    Branch Revision
      Path
    - -------------------------------------------------------------------------
    RELENG_4
      src/crypto/heimdal/kadmin/version4.c 1.1.1.1.2.6
    RELENG_4_10
      src/crypto/heimdal/kadmin/version4.c 1.1.1.1.2.5.6.1
    RELENG_4_9
      src/UPDATING 1.73.2.89.2.8
      src/crypto/heimdal/kadmin/version4.c 1.1.1.1.2.5.4.1
      src/sys/conf/newvers.sh 1.44.2.32.2.8
    RELENG_4_8
      src/UPDATING 1.73.2.80.2.23
      src/crypto/heimdal/kadmin/version4.c 1.1.1.1.2.5.2.1
      src/sys/conf/newvers.sh 1.44.2.29.2.21
    - -------------------------------------------------------------------------
    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v1.2.4 (FreeBSD)

    iD8DBQFAmVp/FdaIBMps37IRArWAAJ9wsAaSmpmkdisZ7dKCdUqtjzi5/ACfQx91
    Rl2JAQ/JrZyoOlwYRea1SLc=
    =gQfq
    -----END PGP SIGNATURE-----
    _______________________________________________
    freebsd-security-notifications@freebsd.org mailing list
    http://lists.freebsd.org/mailman/listinfo/freebsd-security-notifications
    To unsubscribe, send any mail to "freebsd-security-notifications-unsubscribe@freebsd.org"

    _______________________________________________
    Full-Disclosure - We believe in it.
    Charter: http://lists.netsys.com/full-disclosure-charter.html


  • Next message: Alerta Redsegura: "RE: [Full-Disclosure] Learn from history?"

    Relevant Pages