-----BEGIN PGP SIGNED MESSAGE----- __________________________________________________________ The U.S. Department of Energy Computer Incident Advisory Capability ___ __ __ _ ___ / | /_\ / \___ __|__ / \ \___ __________________________________________________________ INFORMATION BULLETIN rdist vulnerability July 24, 1996 17:00 GMT Number G-33 ______________________________________________________________________________ PROBLEM: A new vulnerability has been discovered in the rdist program, and an exploit script is being widely distributed for this vulnerability. PLATFORM: Any UNIX system with an unpatched rdist that is set-uid to root. DAMAGE: This vulnerability can allow an unprivileged local user to gain root access. SOLUTION: Apply the patches listed in the Vendor section of the bulletin below. ______________________________________________________________________________ VULNERABILITY This vulnerability is widely known, and exploit scripts are ASSESSMENT: being distributed over the Internet. It is highly recommended that you apply these patches as soon as possible. ______________________________________________________________________________ [ Begin CERT Bulletin ] ============================================================================= CERT(sm) Advisory CA-96.14 July 24, 1996 Topic: Vulnerability in rdist This advisory supersedes CA-91:20.rdist.vulnerability and CA-94:04.SunOS.rdist.vulnerability. - - ----------------------------------------------------------------------------- The CERT Coordination Center has received reports that a new vulnerability in rdist has been found and an exploitation script is widely available. Current reports indicate that the script works on x86-based versions of the UNIX Operating System; however, we believe that it would not be difficult to write variants that work on other instruction sets and configurations. The CERT/CC Staff recommends following the steps in Section III.A. to determine if your system is vulnerable and to disable vulnerable programs, then following your vendor's instructions (Section III.B and Appendix A). Until you can install a vendor patch, you may want to install a freely available version of rdist, noted in Section III.C. As we receive additional information relating to this advisory, we will place it in ftp://info.cert.org/pub/cert_advisories/CA-96.14.README We encourage you to check our README files regularly for updates on advisories that relate to your site. - - ----------------------------------------------------------------------------- I. Description The rdist program is a UNIX Operating System utility used to distribute files from one host to another. On most systems, rdist is installed as set-user-id root, a necessity due to its design. Unfortunately, this setting makes it a favorite target for vulnerability investigation. A new vulnerability in rdist has been discovered and reported. The vulnerability lies in the lookup() subroutine where the value of a command line argument is used to overflow the subroutine call stack. If that argument is specially crafted with native machine code, lookup() returns control to the code added to the call stack instead of the subroutine that called lookup(). If, for example, this added code uses a member of the exec system call family and names /bin/sh as the program to be executed, that shell is then run with set-user-id root privileges. No matter what code is added, the code runs with set-user-id root privileges. An exploitation program, which is circulating on the Internet, takes advantage of this vulnerability. While it purports to work only on x86-based versions of the UNIX Operating System, variants tuned to other instruction sets and configurations are straightforward to write. II. Impact On unpatched systems, anyone with access to a local account can gain root access. III. Solution We urge you to follow the steps in Section A to determine if your system is potentially vulnerable and, if it is, to turn off rdist while you decide how to proceed. If you need the functionality that rdist provides, install a vendor patch (Sec. B). Until you can do so, you may want to install a freely available version of rdist that does not need to be installed as set-user-id root and is, therefore, not susceptible to the exploitation described in this advisory (Sec. C). A. How to determine if your system is vulnerable To determine if a system is vulnerable and to disable the programs that are believed to be vulnerable, use the following find command or a variant. Consult your local system documentation to determine how to tailor the find program on your system. You will need to run the find command on each system you maintain because the command examines files on the local disk only. Substitute the names of your local file systems for FILE_SYSTEM_NAMES in the example. Example local file system names are /, /usr, and /var. You must do this as root. Note that this is one long command, though we have separated it onto two lines using a back-slash. find FILE_SYSTEM_NAMES -xdev -type f -user root \ -name rdist -perm -04000 -print -ok chmod u-s '{}' \; This command will find all files on a system that are - only in the file system you name (FILE_SYSTEM_NAMES -xdev) - regular files (-type f) - owned by root (-user root) - named rdist - setuid root (-perm -04000) Once found, those files will - have their names printed (-print) - have the setuid mode removed, but only if you type `y' in response to the prompt (-ok chown u-s '{}' \;) B. Obtain and install the appropriate patch Below is a list of the vendors who have reported to us as of the date of this advisory. Details are in Appendix A. Berkeley Software Design, Inc. Data General Corporation FreeBSD, Inc. Hewlett-Packard Company IBM Corporation Linux NEC Corporation The Santa Cruz Operation Sequent Computer Systems Silicon Graphics, Inc. Sun Microsystems, Inc. If your vendor's name is not on this list, please contact the vendor directly. Appendix A is reproduced in CA-96.14.README, which will be updated as we receive additional information. C. If you need the functionality that rdist provides but a patched version is not yet available from your vendor, consider installing rdist-6.1.3, which is freely available from ftp://usc.edu/pub/rdist/rdist-6.1.3.tar.gz MD5 (rdist-6.1.3.tar.gz) = 8a76b880b023c5e648b7cb77b9608b9f The README file in the distribution explains how to configure and install this version of rdist. We strongly recommend that you configure this version of rdist to use rsh instead of rcmd. Here is the relevant text from the README: By default rdist uses rsh(1c) to make connections to remote hosts. This has the advantage that rdist does not need to be setuid to "root". This eliminates most potential security holes. It has the disadvantage that it takes slightly more time for rdist to connect to a remote host due to the added overhead of doing a fork() and then running the rsh(1c) command. For versions of rdist V6 prior to 6.1.3: If you compile rdist with -DDIRECT_RCMD *and* you run rdist setuid to root, you are vulnerable to the problem described in this advisory. You need to update to rdist version 6.1.3. Note that by default, rdist V6 is distributed to compile without -DDIRECT_RCMD and not run setuid to root. If you have previously built version 6.X of rdist with the -DDIRECT_RCMD directive added to the $(DEFS_LOCAL) and set "RDIST_MODE = 4555" in "Makefile.local", we recommend that you first disable this version with the find command given in Section III.A above, then either rebuild rdist with its default settings or upgrade to 6.1.3. - - --------------------------------------------------------------------------- The CERT Coordination Center staff thanks Michael Cooper (Michael.Cooper@Sun.Com) for his work on resolving this problem. He is the maintainer of the publicly available version of rdist. - - --------------------------------------------------------------------------- Copyright 1996 Carnegie Mellon University This material may be reproduced and distributed without permission provided it is used for noncommercial purposes and the copyright statement is included. CERT is a service mark of Carnegie Mellon University. This file: ftp://info.cert.org/pub/cert_advisories/CA-96.14.rdist_vul http://www.cert.org click on "CERT Advisories" ......................................................................... Appendix A: Vendor Information Current as of July 24, 1996 See CA-96.14.README for updated information. Below is information we have received from vendors concerning the vulnerability described in this advisory. If you do not see your vendor's name, please contact the vendor directly for information. Berkeley Software Design, Inc. ============================== BSD/OS is vulnerable to this problem. BSDI has released a patch for rdist in BSD/OS V2.1. Sites using the non-kerberized rdist should install patch U210-018, which is available from the patches@bsdi.com mailback server and also from: ftp://ftp.bsdi.com/bsdi/patches/patches-2.1/U210-018 md5 checksum: 86005d8bbb67eb737120741bd254d26a U210-018 Domestic licensees that are using the Kerberos package should install patch D210-018 from the patches@bsdi.com mailback server (this patch is available only to domestic licensees because of US export restrictions on crypto software). Be sure to install only the appropriate patch. md5 checksum: b2060ec4eb9b18ace4e76bcb9441353f D210-018 Data General Corporation ======================== Data General does not provide a version of rdist as part of the standard release of DG/UX. Rdist is available as contributed software which is not supported by Data General. This problem will be fixed in the next release of the contributed software package. FreeBSD, Inc. ============= Versions affected: FreeBSD 2.0, 2.0.5, 2.1, 2.1-stable, and 2.2-current Versions corrected: 2.1-stable and 2.2-current as of 1996-07-11 Workaround: As root, execute the commands: # chflags noschg /usr/bin/rdist # chmod u-s,go-rx /usr/bin/rdist Patches: ftp://freebsd.org/pub/CERT/patches/SA-96:16/ For more information: ftp://freebsd.org/pub/CERT/advisories/SA-96:16/ Hewlett-Packard Company ======================= HP/UX 10.X is vulnerable, 9.X is not vulnerable. Patches are in process. IBM Corporation =============== AIX is vulnerable to this problem. Fixes are in process but are not yet available. The APAR numbers for the fixes are given below. In the meantime, we recommend removing the setuid bit from the /usr/bin/rdist program. To remove the setuid bit, follow these instructions. As the root user, type: chmod u-s /usr/bin/rdist AIX 3.2 ------- Apply the following fix to your system: APAR - IX59741 AIX 4.1 ------- Apply the following fix to your system: APAR - IX59742 To determine if you have this APAR on your system, run the following command: instfix -ik IX59742 AIX 4.2 ------- Apply the following fix to your system: APAR - IX59743 To determine if you have this APAR on your system, run the following command: instfix -ik IX59743 To Order -------- APARs may be ordered using FixDist or from the IBM Support Center. For more information on FixDist, reference URL: http://aix.boulder.ibm.com/pbin-usa/fixdist.pl/ or send e-mail to aixserv@austin.ibm.com with a subject of "FixDist". IBM and AIX are registered trademarks of International Business Machines Corporation. Linux ===== Almost all Linux distributions ship with rdist non setuid. If you have changed your rdist to run setuid you are probably vulnerable. NEC Corporation =============== EWS-UX/V(Rel4.2) not vulnerable EWS-UX/V(Rel4.2MP) not vulnerable UP-UX/V(Rel4.2MP) not vulnerable UX/4800 not vulnerable The Santa Cruz Operation ======================== The following releases of SCO Software are known to contain a version of rdist that is vulnerable: SCO OpenServer 5.0.2, 5.0.0 SCO Internet FastStart 1.0 SCO Open Server Enterprise/Network System 2.0, 3.0 SCO Open Desktop 2.0, 3.0 SCO Open Desktop Lite 3.0 SCO UnixWare 2.0, 2.1 SCO TCP/IP 1.2.0, 1.2.1 Patches are being developed for the following releases: SCO OpenServer 5.0.2, 5.0.0 SCO Internet FastStart 1.0 SCO UnixWare 2.1 Sequent Computer Systems ======================== Sequent systems do not ship with rdist. Silicon Graphics, Inc. ====================== All SGI IRIX versions of rdist are not vulnerable. No action is required. Sun Microsystems, Inc. ====================== The following patches correct the rdist vulnerability (Sun bug id 1258139), described in this advisory, on systems running Solaris 1.x or 2.x. Architecture SunOS Solaris Patch MD5 checksum for rdist binary - - --------------------------------------------------------------------------- SPARC 4.1.3 1.1 100383-07 5F2C2B782881FE18D2737B5FA0AEC489 4.1.3_U1 1.1.1 103823-01 B330358F4E66CD544B9B60AF453C5F2B 4.1.4 1.1.2 103824-01 11BDEC384048CD42200BC1D0F25B61C9 5.3 2.3 101494-02 1DD34E9E7C50B2C863E30D67DFD1A905 5.4 2.4 103813-01 90DD81A4C32F7D583737F171B821386B 5.5 2.5 103815-01 C3BBE3F6758B0BBA7D45CB05009ED80E 5.5.1 2.5.1 103817-01 89735351119896FEB7469DCA76788561 X86 5.4 2.4 103814-01 EE4509D9CF87DBD29ABB7A72C8330F89 5.5 2.5 103816-01 3363670F316A06803ECCDD9FFAE95126 5.5.1 2.5.1 103818-01 8C2E8CFDE7A2AE6D5EC89139D592E71C PowerPC 5.5.1 2.5.1 103819-01 C3FC0E54B23E4209496A4735D09DFFEF These patches will be available through your local SunService and SunSoft Support Services organizations by 9:00 PDT Wednesday, July 24. They will also be available at the same time from SunSolve Online, via the URL http://sunsolve1.sun.com. _______________________________________________________________________________ CIAC wishes to acknowledge the contributions of CERT for the information contained in this bulletin. _______________________________________________________________________________ CIAC, the Computer Incident Advisory Capability, is the computer security incident response team for the U.S. Department of Energy (DOE) and the emergency backup response team for the National Institutes of Health (NIH). CIAC is located at the Lawrence Livermore National Laboratory in Livermore, California. CIAC is also a founding member of FIRST, the Forum of Incident Response and Security Teams, a global organization established to foster cooperation and coordination among computer security teams worldwide. CIAC services are available to DOE, DOE contractors, and the NIH. CIAC can be contacted at: Voice: +1 510-422-8193 FAX: +1 510-423-8002 STU-III: +1 510-423-2604 E-mail: ciac@llnl.gov For emergencies and off-hour assistance, DOE, DOE contractor sites, and the NIH may contact CIAC 24-hours a day. During off hours (5PM - 8AM PST), call the CIAC voice number 510-422-8193 and leave a message, or call 800-759-7243 (800-SKY-PAGE) to send a Sky Page. CIAC has two Sky Page PIN numbers, the primary PIN number, 8550070, is for the CIAC duty person, and the secondary PIN number, 8550074 is for the CIAC Project Leader. Previous CIAC notices, anti-virus software, and other information are available from the CIAC Computer Security Archive. World Wide Web: http://ciac.llnl.gov/ Anonymous FTP: ciac.llnl.gov (128.115.19.53) Modem access: +1 (510) 423-4753 (28.8K baud) +1 (510) 423-3331 (28.8K baud) CIAC has several self-subscribing mailing lists for electronic publications: 1. CIAC-BULLETIN for Advisories, highest priority - time critical information and Bulletins, important computer security information; 2. CIAC-NOTES for Notes, a collection of computer security articles; 3. SPI-ANNOUNCE for official news about Security Profile Inspector (SPI) software updates, new features, distribution and availability; 4. SPI-NOTES, for discussion of problems and solutions regarding the use of SPI products. Our mailing lists are managed by a public domain software package called ListProcessor, which ignores E-mail header subject lines. To subscribe (add yourself) to one of our mailing lists, send the following request as the E-mail message body, substituting CIAC-BULLETIN, CIAC-NOTES, SPI-ANNOUNCE or SPI-NOTES for list-name and valid information for LastName FirstName and PhoneNumber when sending E-mail to ciac-listproc@llnl.gov: subscribe list-name LastName, FirstName PhoneNumber e.g., subscribe ciac-notes OHara, Scarlett W. 404-555-1212 x36 You will receive an acknowledgment containing address, initial PIN, and information on how to change either of them, cancel your subscription, or get help. PLEASE NOTE: Many users outside of the DOE, ESnet, and NIH computing communities receive CIAC bulletins. If you are not part of these communities, please contact your agency's response team to report incidents. Your agency's team will coordinate with CIAC. The Forum of Incident Response and Security Teams (FIRST) is a world-wide organization. A list of FIRST member organizations and their constituencies can be obtained by sending email to docserver@first.org with an empty subject line and a message body containing the line: send first-contacts. This document was prepared as an account of work sponsored by an agency of the United States Government. Neither the United States Government nor the University of California nor any of their employees, makes any warranty, express or implied, or assumes any legal liability or responsibility for the accuracy, completeness, or usefulness of any information, apparatus, product, or process disclosed, or represents that its use would not infringe privately owned rights. Reference herein to any specific commercial products, process, or service by trade name, trademark, manufacturer, or otherwise, does not necessarily constitute or imply its endorsement, recommendation or favoring by the United States Government or the University of California. The views and opinions of authors expressed herein do not necessarily state or reflect those of the United States Government or the University of California, and shall not be used for advertising or product endorsement purposes. LAST 10 CIAC BULLETINS ISSUED (Previous bulletins available from CIAC) G-23: Solaris NIS+ Configuration Vulnerability G-24: FreeBSD Security Vulnerabilities G-25: SUN statd Program Vulnerability G-26: IRIX Desktop Permissions Panel Vulnerability G-27: SCO Kernel Security Vulnerability G-28A: suidperl Vulnerability G-29: dip Program Vulnerability G-30: DEC Software Security Kits G-31: FreeBSD Security Vulnerabilities (ppp, rdist, and rz) G-32: HP-UX Vulnerabilities in expreserve, rpc.pcnfsd, rpc.statd RECENT CIAC NOTES ISSUED (Previous Notes available from CIAC) Notes 07 - 3/29/95 A comprehensive review of SATAN Notes 08 - 4/4/95 A Courtney update Notes 09 - 4/24/95 More on the "Good Times" virus urban legend Notes 10 - 6/16/95 PKZ300B Trojan, Logdaemon/FreeBSD, vulnerability in S/Key, EBOLA Virus Hoax, and Caibua Virus Notes 11 - 7/31/95 Virus Update, Hats Off to Administrators, America On-Line Virus Scare, SPI 3.2.2 Released, The Die_Hard Virus Notes 12 - 9/12/95 Securely configuring Public Telnet Services, X Windows, beta release of Merlin, Microsoft Word Macro Viruses, Allegations of Inappropriate Data Collection in Win95 Notes 96-01 - 3/18/96 Java and JavaScript Vulnerabilities, FIRST Conference Announcement, Security and Web Search Engines, Microsoft Word Macro Virus Update -----BEGIN PGP SIGNATURE----- Version: 2.6.2 iQCVAwUBMfaavLnzJzdsy3QZAQFhawQAoKU2v+3YgNjH3OHn/48btLXU4M+PnR94 +OZ9sUooA/xbGtPp80LXSOYXrhT+8OJ4SHzWivQ7jPPR9oUOXBxtciCrtk0/XdVT 07xfnMpZsoZQD0w9qwvvO0Qj4MhGW5X5GL2W1Hc/7KsAdUHNBt8+j0JoVqt6VY8y t/Ml+n0YMbk= =3ey0 -----END PGP SIGNATURE-----