Vulnerability Note VU#365313

MIT Kerberos kadmind RPC library gssrpc__svcauth_unix() integer conversion error

Original Release date: 26 Jun 2007 | Last revised: 08 Aug 2007

Overview

The MIT Kerberos administration daemon (kadmind) contains an integer conversion error vulnerability, which may allow a remote, unauthenticated attacker to execute arbitrary code or cause a denial of service.

Description

The gssrpc__svcauth_unix() function used by the Kerberos administration daemon contains an integer conversion error. This vulnerability may cause a stack buffer overflow that could allow a remote, authenticated user to execute arbitrary code. According to MIT krb5 Security Advisory MITKRB5-SA-2007-004:

    The function gssrpc__svcauth_unix() in src/lib/rpc/svc_auth_unix.c stores an unsigned integer obtained from IXDR_GET_U_LONG into a signed integer variable "str_len". Subsequently, it checks that "str_len" is less than MAX_MACHINE_NAME, which will always be true of "str_len" is negative, which can happen when a large unsigned integer is converted to a signed integer. Once the length check succeeds, gssrpc__svcauth_unix() calls memmove() with a length of "str_len" with the target in a stack buffer.

    This vulnerability is believed to be difficult to exploit because the memmove() implementation receives a very large number (a negative integer converted to a large unsigned value), which will almost certainly cause some sort of memory access fault prior to returning. This probably avoids any usage of the corrupted return address in the overwritten stack frame. Note that some (perhaps unlikely) memmove() implementations may call other procedures and thus may be vulnerable to corrupted return addresses.

Note that this issue affects all releases of MIT krb5 up to and including krb5-1.6.1. Third-party applications using the MIT krb5 RPC library or other RPC libraries derived from SunRPC may also be vulnerable. MIT has been provided with proof-of-concept exploit code that causes a denial of service, but it's not clear whether the exploit code is publicly available yet.

This vulnerability occurred as a result of failing to comply with rule INT31-C of the CERT C Programming Language Secure Coding Standard.

Impact

A remote, unauthenticated user may be able to execute arbitrary code on an affected system or cause the affected program to crash, resulting in a denial of service. Secondary impacts of code execution include complete compromise of the Kerberos key database.

Solution

Apply a patch
A patch can be obtained from MIT krb5 Security Advisory MITKRB5-SA-2007-004. MIT also states that this will be addressed in the upcoming krb5-1.6.2 and krb5-1.5.4 releases. Please check with your vendor for third-party product updates.

Systems Affected (Learn More)

VendorStatusDate NotifiedDate Updated
Debian GNU/LinuxAffected18 Jun 200730 Jul 2007
Mandriva, Inc.Affected18 Jun 200727 Jun 2007
Red Hat, Inc.Affected18 Jun 200726 Jun 2007
UbuntuAffected18 Jun 200727 Jun 2007
CyberSafe, Inc.Not Affected18 Jun 200718 Jun 2007
Juniper Networks, Inc.Not Affected18 Jun 200726 Jun 2007
Microsoft CorporationNot Affected18 Jun 200719 Jun 2007
Network Appliance, Inc.Not Affected-27 Jun 2007
Sun Microsystems, Inc.Not Affected18 Jun 200728 Jun 2007
Apple Computer, Inc.Unknown18 Jun 200718 Jun 2007
AttachmateWRQ, Inc.Unknown18 Jun 200718 Jun 2007
Conectiva Inc.Unknown18 Jun 200718 Jun 2007
Cray Inc.Unknown18 Jun 200718 Jun 2007
EMC CorporationUnknown18 Jun 200718 Jun 2007
Engarde Secure LinuxUnknown18 Jun 200718 Jun 2007
If you are a vendor and your product is affected, let us know.View More »

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 MIT for reporting this vulnerability, who in turn credit Wei Wang of McAfee Avert Labs.

This document was written by Will Dormann.

Other Information

  • CVE IDs: CVE-2007-2443
  • Date Public: 26 Jun 2007
  • Date First Published: 26 Jun 2007
  • Date Last Updated: 08 Aug 2007
  • Severity Metric: 5.40
  • Document Revision: 12

Feedback

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