April 29, 2002

EnGarde Secure Linux advisory: sudo

EnGarde: "There is a heap corruption vulnerability in sudo which may allow an attacker to execute arbitrary commands."

| EnGarde Secure Linux Security Advisory                  April 29, 2002 |
| http://www.engardelinux.org/ ESA-20020429-010 |
|                                                                        |
| Package:  sudo                                                         |
| Summary:  sudo heap corruption vulnerability.                          |

  EnGarde Secure Linux is a secure distribution of Linux that features
  improved access control, host and network intrusion detection, Web
  based secure remote management, complete e-commerce using AllCommerce,
  and integrated open source security tools.

- --------
  There is a heap corruption vulnerability in sudo which may allow an
  attacker to execute arbitrary commands.

- ------
  sudo allows a permitted user to execute a command as the superuser or
  another user, as specified in the sudoers file.  It takes a -p argument
  which allows the user to specify a custom password prompt.

  The user is permitted to use %u and %h macros which are expanded to
  their username and the systems hostname.  When parsing the argument to
  -p sudo will malloc() memory for the string that is to become the 
  password prompt.

  By using a specially crafted argument the user may trick sudo into
  allocating less memory then it should for this prompt.  If sudo was
  compiled with PAM support (which it is in most Linux distributions) the
  user may corrupt the heap and execute arbitrary commands.

- --------
  Users of the EnGarde Professional edition can use the Guardian Digital
  Secure Network to update their systems automatically.

  EnGarde Community users should upgrade to the most recent version
  as outlined in this advisory.  Updates may be obtained from:


Before upgrading the package, the machine must either:

    a) be booted into a "standard" kernel; or
    b) have LIDS disabled.

  To disable LIDS, execute the command:

    # /sbin/lidsadm -S -- -LIDS_GLOBAL

  To install the updated package, execute the command:

    # rpm -Uvh <filename>

You must now update the LIDS configuration by executing the command:

    # /usr/sbin/config_lids.pl

  To re-enable LIDS (if it was disabled), execute the command:

    # /sbin/lidsadm -S -- +LIDS_GLOBAL

  To verify the signatures of the updated packages, execute the command:

    # rpm -Kv <filename>

- ----------------
  These updated packages are for EnGarde Secure Linux Community

  Source Packages:

      MD5 Sum: 75db702281fec73962968f099e1a959c

  Binary Packages:

      MD5 Sum: 0ecafa8dd05315772afa7e77f7089d69

      MD5 Sum: a267c880a9e0093e4e13d140898756cc

- ----------
  Guardian Digital's public key:

Credit for the discovery of this bug goes to:
    fc, with research/coordination by Global InterSec

  sudo's Official Web Site:

Security Contact:    security@guardiandigital.com
EnGarde Advisories:  http://www.engardelinux.org/advisories.html

- --------------------------------------------------------------------------
$Id: ESA-20020429-010-sudo,v 1.2 2002/04/29 12:45:39 rwm Exp $
- --------------------------------------------------------------------------
Author: Ryan W. Maple, <ryan@guardiandigital.com> Copyright 2002, Guardian Digital, Inc.


  • C/C++
Click Here!