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. OVERVIEW - -------- There is a heap corruption vulnerability in sudo which may allow an attacker to execute arbitrary commands. DETAIL - ------ 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. SOLUTION - -------- 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: ftp://ftp.engardelinux.org/pub/engarde/stable/updates/http://ftp.engardelinux.org/pub/engarde/stable/updates/ 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> UPDATED PACKAGES - ---------------- These updated packages are for EnGarde Secure Linux Community Edition. Source Packages: SRPMS/sudo-1.6.4-1.0.7.src.rpm MD5 Sum: 75db702281fec73962968f099e1a959c Binary Packages: i386/sudo-1.6.4-1.0.7.i386.rpm MD5 Sum: 0ecafa8dd05315772afa7e77f7089d69 i686/sudo-1.6.4-1.0.7.i686.rpm MD5 Sum: a267c880a9e0093e4e13d140898756cc REFERENCES - ---------- Guardian Digital's public key: http://ftp.engardelinux.org/pub/engarde/ENGARDE-GPG-KEY Credit for the discovery of this bug goes to: fc, with research/coordination by Global InterSec sudo's Official Web Site: http://www.sudo.ws/ 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.
Category:
- C/C++