prompt assembling function. The input used to create the password prompt
is user controlled and not properly length-checked before copied to certain
heap locations. This allows local attackers to overflow the heap of sudo,
thus executing arbitrary commands as root.
____________________________________________________________________________ SuSE Security Announcement Package: sudo Announcement-ID: SuSE-SA:2002:014 Date: Tue Apr 30 16:00:00 MEST 2002 Affected products: 6.4, 7.0, 7.1, 7.2, 7.3, 8.0, SuSE Firewall Adminhost VPN, SuSE Linux Admin-CD for Firewall, SuSE Linux Enterprise Server, SuSE Linux Connectivity Server Vulnerability Type: local privilege escalation Severity (1-10): 6 SuSE default package: yes Other affected systems: All systems with sudo installed. Content of this advisory: 1) security vulnerability resolved: Heap overflow in sudo. problem description, discussion, solution and upgrade information 2) pending vulnerabilities, solutions, workarounds 3) standard appendix (further information) ____________________________________________________________________________ 1) problem description, brief discussion, solution, upgrade information The sudo program allows local users to execute certain configured commands with root priviledges. Sudo contains a heap overflow in its prompt assembling function. The input used to create the password prompt is user controlled and not properly length-checked before copied to certain heap locations. This allows local attackers to overflow the heap of sudo, thus executing arbitrary commands as root. We would like to thank GlobalInterSec for finding and researching this vulnerability. As a temporary workaround you may remove the setuid bit from sudo by issuing the following command as root: "chmod -s /usr/bin/sudo". Please download the update package for your distribution and verify its integrity by the methods listed in section 3) of this announcement. Then, install the package using the command "rpm -Fhv file.rpm" to apply the update. Our maintenance customers are being notified individually. The packages are being offered to install from the maintenance web. i386 Intel Platform: SuSE-8.0 ftp://ftp.suse.com/pub/suse/i386/update/8.0/ap1/sudo-1.6.5p2-79.i386.rpm b54f68ff4b32f9d920f2f1ff887d1ddc source rpm: ftp://ftp.suse.com/pub/suse/i386/update/8.0/zq1/sudo-1.6.5p2-79.src.rpm fd1ccf6fe52c6b999c5ed24a2f3a4e65 SuSE-7.3 ftp://ftp.suse.com/pub/suse/i386/update/7.3/ap1/sudo-1.6.3p7-83.i386.rpm 80edbf5caf02c519cf2c01d6ba76d22f source rpm: ftp://ftp.suse.com/pub/suse/i386/update/7.3/zq1/sudo-1.6.3p7-83.src.rpm 77962932840740ce5e3dfe57a887592d SuSE-7.2 ftp://ftp.suse.com/pub/suse/i386/update/7.2/ap1/sudo-1.6.3p6-92.i386.rpm 669aa8db134e39f462cb9f2648f6735f source rpm: ftp://ftp.suse.com/pub/suse/i386/update/7.2/zq1/sudo-1.6.3p6-92.src.rpm 249b1ef0135dcfede3648982900e277c SuSE-7.1 ftp://ftp.suse.com/pub/suse/i386/update/7.1/ap1/sudo-1.6.3p6-91.i386.rpm 6b3b84f0a4c687e91da179937b87048a source rpm: ftp://ftp.suse.com/pub/suse/i386/update/7.1/zq1/sudo-1.6.3p6-91.src.rpm bf59a6b200a0fb130f3528ce23698be0 SuSE-7.0 ftp://ftp.suse.com/pub/suse/i386/update/7.0/ap1/sudo-1.6.3p6-90.i386.rpm 5b67ef9fed383242111953d942c62174 source rpm: ftp://ftp.suse.com/pub/suse/i386/update/7.0/zq1/sudo-1.6.3p6-90.src.rpm c35f6390b360500b7b649e4590a748cc SuSE-6.4 ftp://ftp.suse.com/pub/suse/i386/update/6.4/ap1/sudo-1.5.9p1-87.i386.rpm 82d98116eccc73c7a0ce03a51e9b5378 source rpm: ftp://ftp.suse.com/pub/suse/i386/update/6.4/zq1/sudo-1.5.9p1-87.src.rpm e75e2608036a963a7339fe4632a2550b Sparc Platform: SuSE-7.3 ftp://ftp.suse.com/pub/suse/sparc/update/7.3/ap1/sudo-1.6.3p7-33.sparc.rpm bd492b6d601ceb30486e3e970a2211a3 source rpm: ftp://ftp.suse.com/pub/suse/sparc/update/7.3/zq1/sudo-1.6.3p7-33.src.rpm d2435d180cdd76647e1f1416e93c2420 SuSE-7.1 ftp://ftp.suse.com/pub/suse/sparc/update/7.1/ap1/sudo-1.6.3p6-37.sparc.rpm bbad36265f93fac25d59f8c26b1ccd52 source rpm: ftp://ftp.suse.com/pub/suse/sparc/update/7.1/zq1/sudo-1.6.3p6-37.src.rpm a328d2eb0fdc816341a68febfeb5a33a SuSE-7.0 ftp://ftp.suse.com/pub/suse/sparc/update/7.0/ap1/sudo-1.6.3p6-36.sparc.rpm 48e7b360b45bae0b3e9e90b3bf945f75 source rpm: ftp://ftp.suse.com/pub/suse/sparc/update/7.0/zq1/sudo-1.6.3p6-36.src.rpm bd8f11a8916340e0d243ae1cc647df26 AXP Alpha Platform: SuSE-7.1 ftp://ftp.suse.com/pub/suse/axp/update/7.1/ap1/sudo-1.6.3p6-40.alpha.rpm 4505dd58fe309ef0a4515db6a6980ec4 source rpm: ftp://ftp.suse.com/pub/suse/axp/update/7.1/zq1/sudo-1.6.3p6-40.src.rpm 85dfbe40da4d93d54d3c16f6489a7f32 SuSE-7.0 ftp://ftp.suse.com/pub/suse/axp/update/7.0/ap1/sudo-1.6.3p6-40.alpha.rpm b67858459774e5e04c9c22e84d5899ff source rpm: ftp://ftp.suse.com/pub/suse/axp/update/7.0/zq1/sudo-1.6.3p6-40.src.rpm 6d0537068d16785bfdbca936c6395abb PPC Power PC Platform: SuSE-7.3 ftp://ftp.suse.com/pub/suse/ppc/update/7.3/ap1/sudo-1.6.3p7-65.ppc.rpm 1734f578b1fa87c26e51a11e3dc90d18 source rpm: ftp://ftp.suse.com/pub/suse/ppc/update/7.3/zq1/sudo-1.6.3p7-65.src.rpm ebff8b3e7b86ef9bb69fb13da37903ce SuSE-7.1 ftp://ftp.suse.com/pub/suse/ppc/update/7.1/ap1/sudo-1.6.3p6-45.ppc.rpm 4318adbde184c1c8fff6eb581f02c11e source rpm: ftp://ftp.suse.com/pub/suse/ppc/update/7.1/zq1/sudo-1.6.3p6-45.src.rpm 771f9e7f6d1fc1ba4df119147e48ddcd SuSE-7.0 ftp://ftp.suse.com/pub/suse/ppc/update/7.0/ap1/sudo-1.6.3p6-45.ppc.rpm 6ae150cfa793f20e49ed751aa686fdea source rpm: ftp://ftp.suse.com/pub/suse/ppc/update/7.0/zq1/sudo-1.6.3p6-45.src.rpm ede5fedf45ffe6b59c43e082fcef50f4 SuSE-6.4 ftp://ftp.suse.com/pub/suse/ppc/update/6.4/ap1/sudo-1.5.9p1-85.ppc.rpm 0677a205615f631a41ca308be03db7bd source rpm: ftp://ftp.suse.com/pub/suse/ppc/update/6.4/zq1/sudo-1.5.9p1-85.src.rpm 71da4a7d43043b20eefd5e05048616d8 ____________________________________________________________________________ 2) Pending vulnerabilities in SuSE Distributions and Workarounds: - ifup-dhcp could be tricked into executing arbitrary commands as root by DHCP servers handing out illegal values (e.g. containing spaces), because it sourced dhcpcd's info file, where not all variable values are quoted. This problem has been fixed. ____________________________________________________________________________ 3) standard appendix: authenticity verification, additional information - Package authenticity verification: SuSE update packages are available on many mirror ftp servers all over the world. While this service is being considered valuable and important to the free and open source software community, many users wish to be sure about the origin of the package and its content before installing the package. There are two verification methods that can be used independently from each other to prove the authenticity of a downloaded file or rpm package: 1) md5sums as provided in the (cryptographically signed) announcement. 2) using the internal gpg signatures of the rpm package. 1) execute the command md5sum <name-of-the-file.rpm> after you downloaded the file from a SuSE ftp server or its mirrors. Then, compare the resulting md5sum with the one that is listed in the announcement. Since the announcement containing the checksums is cryptographically signed (usually using the key email@example.com), the checksums show proof of the authenticity of the package. We disrecommend to subscribe to security lists which cause the email message containing the announcement to be modified so that the signature does not match after transport through the mailing list software. Downsides: You must be able to verify the authenticity of the announcement in the first place. If RPM packages are being rebuilt and a new version of a package is published on the ftp server, all md5 sums for the files are useless. 2) rpm package signatures provide an easy way to verify the authenticity of an rpm package. Use the command rpm -v --checksig <file.rpm> to verify the signature of the package, where <file.rpm> is the filename of the rpm package that you have downloaded. Of course, package authenticity verification can only target an uninstalled rpm package file. Prerequisites: a) gpg is installed b) The package is signed using a certain key. The public part of this key must be installed by the gpg program in the directory ~/.gnupg/ under the user's home directory who performs the signature verification (usually root). You can import the key that is used by SuSE in rpm packages for SuSE Linux by saving this announcement to a file ("announcement.txt") and running the command (do "su -" to be root): gpg --batch; gpg < announcement.txt | gpg --import SuSE Linux distributions version 7.1 and thereafter install the key "firstname.lastname@example.org" upon installation or upgrade, provided that the package gpg is installed. The file containing the public key is placed at the toplevel directory of the first CD (pubring.gpg) and at ftp://ftp.suse.com/pub/suse/pubring.gpg-build.suse.de . - SuSE runs two security mailing lists to which any interested party may subscribe: email@example.com - general/linux/SuSE security discussion. All SuSE security announcements are sent to this list. To subscribe, send an email to <firstname.lastname@example.org>. email@example.com - SuSE's announce-only mailing list. Only SuSE's security annoucements are sent to this list. To subscribe, send an email to <firstname.lastname@example.org>. For general information or the frequently asked questions (faq) send mail to: <email@example.com> or <firstname.lastname@example.org> respectively. ===================================================================== SuSE's security contact is <email@example.com> or <firstname.lastname@example.org>. The <email@example.com> public key is listed below. ===================================================================== ____________________________________________________________________________ The information in this advisory may be distributed or reproduced, provided that the advisory is not modified in any way. In particular, it is desired that the cleartext signature shows proof of the authenticity of the text. SuSE GmbH makes no warranties of any kind whatsoever with respect to the information contained in this security advisory. Type Bits/KeyID Date User ID pub 2048R/3D25D3D9 1999-03-06 SuSE Security Team <firstname.lastname@example.org> pub 1024D/9C800ACA 2000-10-19 SuSE Package Signing Key <email@example.com>