<<< Date Index >>>     <<< Thread Index >>>

iDefense Security Advisory 06.26.07: Multiple Vendor Kerberos kadmind Rename Principal Buffer Overflow Vulnerability



Multiple Vendor Kerberos kadmind Rename Principal Buffer Overflow
Vulnerability

iDefense Security Advisory 06.26.07
http://labs.idefense.com/intelligence/vulnerabilities/
Jun 26, 2007

I. BACKGROUND

Kerberos is a network authentication protocol used in client-server
systems to provide user authentication by using a ticket-based system.
kadmind is the Kerberos administration server and is used to configure
principals and policies on the Kerberos server, such as changing a
password. More information can be found via the URL shown below.

http://www.mit.edu/afs/athena/astaff/project/kerberos/

II. DESCRIPTION

Remote exploitation of a buffer overflow vulnerability within MIT
Kerberos kadmind allows attackers to execute arbitrary code with the
privileges of the running service, usually root.

The vulnerability specifically exists within the code responsible for
handling requests to rename principals. The rename_principal_2_svc
function fails to properly bounds-check user-supplied data before
copying it to a fixed-size stack buffer. The vulnerable code is shown
below.

  542 generic_ret *
  543 rename_principal_2_svc(rprinc_arg *arg, struct svc_req *rqstp)
  544 {
  545     static generic_ret          ret;
  546     char                        *prime_arg1,
  547                                 *prime_arg2;
  548     char                        prime_arg[BUFSIZ];
  ...
  570     if (krb5_unparse_name(handle->context, arg->src, &prime_arg1) ||
  571         krb5_unparse_name(handle->context, arg->dest, &prime_arg2)) {
  572          ret.code = KADM5_BAD_PRINCIPAL;
  573          goto exit_func;
  574     }
  575     sprintf(prime_arg, "%s to %s", prime_arg1, prime_arg2);

On lines 570 and 571 attacker supplied data is extracted from the
kadmind server context. The buffer overflow occurs on line 575 when
concatenating the source and destination principal names with the
static text " to ".

III. ANALYSIS

Exploitation allows attackers to execute arbitrary code with the
privileges of the running service, usually root.

Although the functionality where the vulnerability lies is designed to
require administrator privileges, the problem actually occurs prior to
credential verification. As a result, only a valid user session is
required to exploit this vulnerability.

The kadmind server runs on the master Kerberos server, which holds the
KDC principal and policy database. As such, a compromise of this server
could lead to a compromise of multiple hosts that use the server for
authentication.

It should be noted that while Fedora CORE 6 was used for testing, code
execution is not possible as it has been compiled with the
"FORTIFY_SOURCE" compiler flag.

IV. DETECTION

iDefense confirmed the existence of this vulnerability within MIT
Kerberos 1.5-21 as distributed with the Fedora CORE 6 Linux
distribution. It has also been confirmed via source code review to
exist in version 1.5.3 and version 1.6.1. All other distributions, as
well as those for other computing platforms are suspected to be
vulnerable.

V. WORKAROUND

iDefense is currently unaware of any effective workaround for this
issue.

VI. VENDOR RESPONSE

The MIT Kerberos team has made patches available to address this
vulnerability. For more information consult their advisory at the
following URL.

http://web.mit.edu/Kerberos/advisories/MITKRB5-SA-2007-005.txt

VII. CVE INFORMATION

The Common Vulnerabilities and Exposures (CVE) project has assigned the
name CVE-2007-2798 to this issue. This is a candidate for inclusion in
the CVE list (http://cve.mitre.org/), which standardizes names for
security problems.

VIII. DISCLOSURE TIMELINE

05/15/2007  Initial vendor notification
05/15/2007  Initial vendor response
06/26/2007  Coordinated public disclosure

IX. CREDIT

The discoverer of this vulnerability wishes to remain anonymous.

Get paid for vulnerability research
http://labs.idefense.com/methodology/vulnerability/vcp.php

Free tools, research and upcoming events
http://labs.idefense.com/

X. LEGAL NOTICES

Copyright © 2007 iDefense, Inc.

Permission is granted for the redistribution of this alert
electronically. It may not be edited in any way without the express
written consent of iDefense. If you wish to reprint the whole or any
part of this alert in any other medium other than electronically,
please e-mail customerservice@xxxxxxxxxxxx for permission.

Disclaimer: The information in the advisory is believed to be accurate
at the time of publishing based on currently available information. Use
of the information constitutes acceptance for use in an AS IS condition.
 There are no warranties with regard to this information. Neither the
author nor the publisher accepts any liability for any direct,
indirect, or consequential loss or damage arising from use of, or
reliance on, this information.