Vulnerability Note VU#350792

MIT Kerberos krb524d insecurely deallocates memory (double-free)

Original Release date: 02 Sep 2004 | Last revised: 03 Sep 2004

Overview

The MIT Kerberos krb524d daemon does not securely deallocate heap memory when handling an error condition, resulting in a double-free vulnerability. An unauthenticated, remote attacker could execute arbitrary code on a system running krb524d, which in many cases is also a Kerberos Distribution Center (KDC). The compromise of a KDC system can lead to the compromise of an entire Kerberos realm. An attacker may also be able to cause a denial of service on a system running krb524d.

Description

As described on the MIT Kerberos web site: "Kerberos is a network authentication protocol. It is designed to provide strong authentication for client/server applications by using secret-key cryptography." MIT Kerberos code is used in network applications from a variety of different vendors and is included in many UNIX and Linux distributions.

The MIT Kerberos krb524d daemon converts Kerberos 5 service tickets into Kerberos 4 service tickets. There is a double-free vulnerability in krb524d that can be triggered during the conversion of a cross-realm ticket. From MITKRB5-SA-2004-002:

    The patch (introduced in krb5-1.2.8 and present in all subsequent
    releases) for disabling krb4 cross-realm authentication in krb524d
    introduced a double-free vulnerability.  If handle_classic_v4() denies
    the conversion of a cross-realm ticket, v5tkt->enc_part2 gets freed
    but not nulled, so do_connection() double-frees many things when it
    subsequently calls krb5_free_ticket().

Impact

An unauthenticated, remote attacker to could execute arbitrary code on a system running krb524d. In many cases, this system also operates a KDC, so this vulnerability could allow an attacker to gain the master secret for a Kerberos realm, leading to compromise of the entire realm. An attacker may also be able to crash a system running krb524d, causing a denial of service.

Solution

Apply a patch
Apply the appropriate patch(es) referenced in MITKRB5-SA-2004-002 or specified by your vendor.

Upgrade

According to MITKRB5-SA-2004-002, "The upcoming krb5-1.3.5 release will contain fixes for these problems."


Restrict access

Depending on network architecture, it may be practical to restrict access to systems running krb524d (4444/udp) from untrusted networks such as the Internet. While this will help to limit the source of attacks, it will not prevent attacks from trusted hosts or networks or attackers who can successfully spoof their source addresses.

Systems Affected (Learn More)

VendorStatusDate NotifiedDate Updated
MIT Kerberos Development TeamAffected-02 Sep 2004
Cisco Systems Inc.Not Affected21 Jul 200403 Sep 2004
CyberSafeNot Affected-02 Sep 2004
If you are a vendor and your product is affected, let us know.

CVSS Metrics (Learn More)

Group Score Vector
Base N/A N/A
Temporal N/A N/A
Environmental N/A N/A

References

Credit

Thanks to Tom Yu and the MIT Kerberos Development Team for reporting this vulnerability and coordinating with vendors. MITKRB5-SA-2004-002 acknowledges Marc Horowitz.

This document was written by Art Manion.

Other Information

  • CVE IDs: CAN-2004-0772
  • Date Public: 31 Aug 2004
  • Date First Published: 02 Sep 2004
  • Date Last Updated: 03 Sep 2004
  • Severity Metric: 10.28
  • Document Revision: 16

Feedback

If you have feedback, comments, or additional information about this vulnerability, please send us email.