J-Security Center

Title: MIT Kerberos 5 KRB5_Recvauth Remote Pre-Authentication Double-Free Vulnerability

Severity: CRITICAL

Description:

MIT Kerberos is a network-authentication protocol designed to provide strong authentication for client/server applications by using secret-key cryptography. Kerberos is written and maintained by MIT. It is available for a variety of platforms including Microsoft Windows, UNIX, and Linux operating systems.

MIT Kerberos 5 is prone to a remote double-free vulnerability. Remote attackers can trigger this issue prior to any authentication whatsoever. The issue exists in the 'revcauth_common()' helper function. The issue occurs when the software checks the 'sendauth' version and 'application' version strings that are received from a remote source.

Specifically, while checking the 'sendauth' version string, an unconditional free 'krb5_xfree(inbuf.data)' is called on the affected heap-based buffer. This free will always be called. However, an additional call to 'krb5_xfree()' is present in the same section of code. The string contained in the 'inbuf.data' buffer and the 'sendauth_version' variable is compared; if this comparison fails (i.e. the strings are different.), then the additional 'krb5_xfree(inbuf.data)' is invoked. Both of these free calls may be invoked against the affected buffer in a subsequent manner.

A similar situation exists in the code section that checks the 'application' version string.

Remote attackers may trigger this issue prior to authentication. Because of the code path taken in the vulnerable function, exploitation may be hindered. However, attackers may presumably leverage this issue to execute arbitrary code in the context of the affected service.

Note that successful exploitation of this issue on a Kerberos Key Distribution Center (KDC) computer may result in the compromise of an entire Kerberos realm.

The vulnerable functionality exists in the 'kpropd', 'klogind', and 'krshd' daemons, as well as all other software that employs the 'krb5-recvauth()' function. The 'kpropd' daemon is used on slave Kerberos servers; this may expose the KDC to direct attacks.

Affected Products:

  • Apple Mac OS X 10.4.2
  • Apple Mac OS X Server 10.4.2
  • Conectiva Linux 10.0.0
  • Conectiva Linux 9.0.0
  • Debian Linux 3.0.0
  • Debian Linux 3.0.0 alpha
  • Debian Linux 3.0.0 arm
  • Debian Linux 3.0.0 hppa
  • Debian Linux 3.0.0 ia-32
  • Debian Linux 3.0.0 ia-64
  • Debian Linux 3.0.0 m68k
  • Debian Linux 3.0.0 mips
  • Debian Linux 3.0.0 mipsel
  • Debian Linux 3.0.0 ppc
  • Debian Linux 3.0.0 s/390
  • Debian Linux 3.0.0 sparc
  • Debian Linux 3.1.0
  • Debian Linux 3.1.0 alpha
  • Debian Linux 3.1.0 amd64
  • Debian Linux 3.1.0 arm
  • Debian Linux 3.1.0 hppa
  • Debian Linux 3.1.0 ia-32
  • Debian Linux 3.1.0 ia-64
  • Debian Linux 3.1.0 m68k
  • Debian Linux 3.1.0 mips
  • Debian Linux 3.1.0 mipsel
  • Debian Linux 3.1.0 ppc
  • Debian Linux 3.1.0 s/390
  • Debian Linux 3.1.0 sparc
  • Easy Software Products CUPS 1.1.20
  • Gentoo Linux
  • HP HP-UX B.11.00
  • HP HP-UX B.11.11
  • HP HP-UX B.11.23
  • MIT Kerberos 5 5.0.0 -1.0.x
  • MIT Kerberos 5 5.0.0 -1.1
  • MIT Kerberos 5 5.0.0 -1.1.1
  • MIT Kerberos 5 5.0.0 -1.2beta1
  • MIT Kerberos 5 5.0.0 -1.2beta2
  • MIT Kerberos 5 5.0.0 -1.3.3
  • MIT Kerberos 5 5.0.0 -1.3.4
  • MIT Kerberos 5 5.0.0 -1.3.5
  • MIT Kerberos 5 5.0.0 -1.3.6
  • MIT Kerberos 5 5.0.0 -1.4
  • MIT Kerberos 5 5.0.0 -1.4.1
  • MandrakeSoft Corporate Server 2.1.0
  • MandrakeSoft Corporate Server 2.1.0 x86_64
  • MandrakeSoft Corporate Server 3.0.0
  • MandrakeSoft Corporate Server 3.0.0 x86_64
  • MandrakeSoft Linux Mandrake 10.0.0
  • MandrakeSoft Linux Mandrake 10.0.0 amd64
  • MandrakeSoft Linux Mandrake 10.1.0
  • MandrakeSoft Linux Mandrake 10.1.0 x86_64
  • MandrakeSoft Linux Mandrake 10.2.0
  • MandrakeSoft Linux Mandrake 10.2.0 x86_64
  • MandrakeSoft Multi Network Firewall 2.0.0
  • RedHat Advanced Workstation for the Itanium Processor 2.1.0
  • RedHat Advanced Workstation for the Itanium Processor 2.1.0 IA64
  • RedHat Desktop 3.0.0
  • RedHat Desktop 4.0.0
  • RedHat Enterprise Linux AS 2.1
  • RedHat Enterprise Linux AS 2.1 IA64
  • RedHat Enterprise Linux AS 3
  • RedHat Enterprise Linux AS 4
  • RedHat Enterprise Linux ES 2.1
  • RedHat Enterprise Linux ES 2.1 IA64
  • RedHat Enterprise Linux ES 3
  • RedHat Enterprise Linux ES 4
  • RedHat Enterprise Linux WS 2.1
  • RedHat Enterprise Linux WS 2.1 IA64
  • RedHat Enterprise Linux WS 3
  • RedHat Enterprise Linux WS 4
  • RedHat Fedora Core3
  • RedHat Fedora Core4
  • S.u.S.E. Linux Personal 9.3.0
  • S.u.S.E. Linux Personal 9.3.0 x86_64
  • S.u.S.E. Linux Professional 9.3.0
  • S.u.S.E. Linux Professional 9.3.0 x86_64
  • SGI ProPack 3.0.0 SP6
  • Sun SEAM 1.0.0
  • Sun Solaris 10
  • Sun Solaris 10.0_x86
  • Sun Solaris 2.6
  • Sun Solaris 2.6_x86
  • Sun Solaris 7.0
  • Sun Solaris 7.0_x86
  • Sun Solaris 8
  • Sun Solaris 8_x86
  • Sun Solaris 9
  • Sun Solaris 9_x86
  • Sun Solaris 9_x86 Update 2
  • Trustix Secure Enterprise Linux 2.0.0
  • Trustix Secure Linux 2.2.0
  • Trustix Secure Linux 3.0.0
  • Turbolinux Appliance Server 1.0.0 Hosting Edition
  • Turbolinux Appliance Server 1.0.0 Workgroup Edition
  • Turbolinux Home
  • Turbolinux Turbolinux Desktop 10.0.0
  • Turbolinux Turbolinux Server 10.0.0
  • Turbolinux Turbolinux Server 8.0.0
  • Ubuntu Ubuntu Linux 4.1.0 ia32
  • Ubuntu Ubuntu Linux 4.1.0 ia64
  • Ubuntu Ubuntu Linux 4.1.0 ppc
  • Ubuntu Ubuntu Linux 5.0.0 4 amd64
  • Ubuntu Ubuntu Linux 5.0.0 4 i386
  • Ubuntu Ubuntu Linux 5.0.0 4 powerpc
  • Xpdf Xpdf 3.0.0 0
  • libpng libpng 1.0.15
  • libpng libpng3 1.2.5

References:

Juniper Networks provides this content via a wide variety of sources and production methods. If notified of errors or omissions in the content of this page, Juniper Networks, at its discretion, will modify or remove the page or leave the content as is, depending on various factors including but not limited to the reputation and authority of the party providing the notification. Please use the contact information displayed elsewhere on this page to report any errors or omissions regarding the content on this page.