-----BEGIN PGP SIGNED MESSAGE----- __________________________________________________________ The U.S. Department of Energy Computer Incident Advisory Capability ___ __ __ _ ___ / | /_\ / \___ __|__ / \ \___ __________________________________________________________ INFORMATION BULLETIN Unix sendmail vulnerability February 12, 1996 23:00 GMT Number G-09b _______________________________________________________________________________ PROBLEM: Sendmail (prior to Sendmail 8.6.10) contains a vulnerability which allows local and remote users to execute privileged commands. PLATFORM: All versions of "sendmail" prior to Version 8.6.10, including Sendmail 5.67+IDA-1.5 and most vendor versions. DAMAGE: Local and remote users can gain privileged access. SOLUTION: Install vendor patches if possible or implement sendmail workarounds. _______________________________________________________________________________ VULNERABILITY ASSESSMENT: This vulnerability is being actively exploited on the Internet. _______________________________________________________________________________ Bulletin G-09a supersedes CIAC's Bulletin G-09 dated January 31, 1996. G-09a bulletin revisits the sendmail/syslog vulnerabilities that were reported earlier in CERT ADVISORY CA-95:13. Since the release of CA-95:13, updated patch information has been obtained from several vendors. This updated information appears in Appendix A of this bulletin (this was originally supplied by CERT). The previous CIAC Bulletin G-09 referred to vulnerabilities with SMTP "EXPN" and "VRFY" commands. The SMTP vulnerability is a result of a vulnerability in syslog. The syslog(3) subroutine uses an internal buffer for building messages that are sent to the syslogd(8) daemon. The syslog subroutine does not check boundaries on data stored in this buffer. It is possible to overflow the internal buffer and rewrite the subroutine call stack. It is then possible to execute arbitrary programs. Most versions of sendmail prior to Version 8.6.10, including Sendmail 5.67+IDA-1.5 and most vendor versions, contain the syslog vulnerability that could allow unauthorized root access. CIAC has received information that the syslog vulnerability is being exploited with a script that has been written to be used with sendmail. Successful exploitation of this vulnerability allows an attacker to execute arbitrary commands on the local system with super-user ("root") permissions and gain unrestricted access to system resources. RECOMMENDED SOLUTIONS: The first three recommendations are specific to sendmail and do not address the problem with syslog. Most vendors are directing efforts to patch syslog, thus fixing the core problem. CIAC recommends installing vendor patches when available. If vendor patches are not available, consider implementing the first three recommendations A, B, and C. The best solution is dependent on your operating environment. Note that sendmail workarounds do not resolve the syslog vulnerability. Other programs and applications that call syslog are still vulnerable. After vendor patches are installed, it is necessary to rebuild executables that are statically linked. A. Install Sendmail Version 8.7.3. Sendmail 8.7.3 does boundary checking for "EXPN" and "VRFY" commands. Sendmail 8.7.3 is available via the Internet by anonymous FTP from: ftp.cs.berkeley.edu (128.32.35.31) /ucb/sendmail/sendmail.8.7.3.tar.Z MD5 (sendmail.8.7.3.tar.Z) = 3c3891c92500d12d60a61aaa1d01b533 B. Install "smap" and "smapd" programs The "smap" program provides a minimal SMTP implementation that accepts mail messages from the network and stores them for later delivery. The "smapd" program periodically runs "sendmail" on these stored messages and thus sendmail is no longer reachable directly from the network and its security vulnerabilities can no longer be exploited. The "smap" and "smapd" programs are part of the Trusted Information Systems (TIS) Firewall Toolkit available from TIS, Inc. TIS Toolkit is available on the Internet via anonymous FTP; you will need the files: ftp.tis.com (192.94.214.96) /pub/firewalls/toolkit MD5 (fwtk.tar.Z) = 5388b86a01300e7525d3cc1c36aab523 NOTE: Installation of "smap" and "smapd" is relatively simple, but it does represent a significant change in the way electronic mail will be handled at your site. Careful consideration should be given to requirements and installation options, and entensive testing should be performed prior to site-wide deployment. C. Disable the "EXPN" and "VRFY" commands Disabling the "EXPN" and "VRFY" commands in your current version of the "sendmail" will prohibit an attacker from exploiting the vulnerability. 1. Sendmail versions 8.6.x or 8.7.x: Sendmail Version 8 provides the "p" configuration file option that allows you to configure the privacy and security features of your "sendmail" process. The format of the option is: Opwhat,what,what where "what" is one of several keywords that enable the various features. By listing the "noexpn" and "novrfy" keywords in this list, you can disable access to the "EXPN" and "VRFY" commands. After adding (or changing) this line in your configuration file, you must kill and restart the "sendmail" daemon. 2. Sendmail versions other than 8.6.x or 8.7.x: Prior to Version 8, there is no way to disable these commands through the configuration file or the command line. However, the commands can be disabled by patching the "sendmail" binary as follows: A. Make a backup copy of the sendmail binary. Patching binary files is not always successful and you will need to be able to recover. # cp -p /usr/lib/sendmail /usr/lib/sendmail.save # chmod 700 /usr/lib/sendmail.save B. Use the "strings" command to find the addresses of the "vrfy" and "expn" command name strings: # strings -o /usr/lib/sendmail | grep vrfy 240248 novrfy 240264 needvrfyhelo 276648 vrfy # strings -o /usr/lib/sendmail | grep expn 240256 noexpn 240280 needexpnhelo 276640 expn 280328 expn NOTE: The output you see may be different: the important information to use are the numbers returned in front of the "expn" and "vrfy" strings. C. Use "adb" to write a null byte on each of these commands. Note: Use the addresses output by your run of the "strings" command, not the numbers from the example above. # adb -w - /usr/lib/sendmail not core file = /usr/lib/sendmail a$d <-- converts to decimal addresses 276648/w 0 <-- writes zero byte on "vrfy" 0x438a8: 30322 = 0 276640/w 0 <-- writes zero byte on first "expn" 0x438a0: 25976 = 0 280328/w 0 <-- writes zero byte on second "expn" 0x44708: 25976 = 0 ^D <-- CTRL-D exits adb D. Verify the strings were removed: # strings -o /usr/lib/sendmail | grep vrfy 240248 novrfy 240264 needvrfyhelo # strings -o /usr/lib/sendmail | grep expn 240256 noexpn 240280 needexpnhelo E. Kill and restart the "sendmail" daemon. NOTE: Some mail user agents (the programs that users use to read and send mail) rely on the presence of the "VRFY" command which you just disabled. After performing the above steps, test all of the mail programs in use at your site to insure that they still operate correctly. D. Install vendor patches Install the appropriate "sendmail" and/or "syslog" patches from your vendor. Some vendors currently have patches available while others are in the process. Please check with your vendor and install patches when they are available. Appendix A contains CIAC's update to the CERT(sm) Coordination Center's CA-95:13.README which contains vendor information. ====================================================================== APPENDIX A ========== Appendix A is an update to CA-95:13.README that contains information from vendors regarding syslog patches. The CERT README file can be obtained from: ftp://info.cert.org/pub/cert_advisories/CA-95:13.README As of February 1, 1996, CIAC has additional information concerning vendor patch status in CA-95:13.README. These changes are reflected in the following vendor entries: Eric Allman Cray Research Hewlett-Packard Company (updated 2/12/96) Silicon Graphics Inc. Sun Microsystems, Inc. Revisions are identified by the revison bar "=" in column one. NOTE: CERT staff will be revising their README file to incorporate these updates as well. [START OF CERT-95:13.README] Below is information 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. =CERT reported in CERT-95:13 that this problem is present in virtually =all versions of the UNIX Operating System except the following: = = Sony's NEWS-OS 6.X = SunOS 5.5 (Solaris 2.5) = Linux with libc version 4.7.2 released in May, 1995 In addition to vendor information, note that the freely available Linux with libc version 4.7.2, released May 1995, is not vulnerable. - --------------------- Eric Allman =Sendmail version 8.7.3 is not vulnerable. =This version is available by anonymous FTP from = = ftp://ftp.cs.berkeley.edu/ucb/sendmail = ftp://ftp.auscert.org.au/pub/mirrors/ftp.cs.berkeley.edu/ucb/sendmail = ftp://ftp.cert.dfn.de/pub/tools/net/sendmail = = MD5 (sendmail.8.7.3.tar.Z) = 3c3891c92500d12d60a61aaa1d01b533 - --------------------- Berkeley Software Design, Inc. Users of BSD/OS V2.0 and V2.0.1 by Berkeley Software Design, Inc. should install patch U201-001 which works for both versions. The patch is available to all BSDI customers in: ftp://ftp.bsdi.com:bsdi/patches/ MD5 (U201-001) = 88b3fd8c83a5926589d7b87b55bc4e14 - --------------------- Convex Computer Corporation Vulnerable: ConvexOS (all releases) SPPUX (all releases) A patch is being developed to address this vulnerability in currently supported releases as detailed below. Contact the Convex Technical Assistance Center 1-800-952-0379 to obtain information and patches. There are no known automated attack programs in existence for Convex or SPP architectures. Development of such a program would require access to such a machine, as well as detailed knowledge of the architecture. However, the only completely secure work-around at this time would be to disable sendmail (known to have been successfully attacked on other architectures), as well as other daemons which can potentially log user-supplied strings. Note that the user-supplied strings do not have to actually be routed by syslogd in order for this vulnerability to occur. At this time we do not have a canonical list of affected software; sendmail is the only known-vulnerable agent. It should also be noted that Convex machines make use of a "SPU" workstation (also referred to as a "test station") which controls the machine; these workstations are vulnerable if sendmail is enabled on those workstations and the SPU or test station is located on an accessible network. Convex recommends disabling sendmail on SPU and test-station workstations until a patch can be obtained from Convex. Currently supported OS releases as of Sep 1, 1995: ConvexOS 10.1, 10.2, 11.0, 11.1 SPPUX 3.x - --------------------- Cray Research Information about fixes for the syslog problem can be found in FN #2011, dated October 10, 1995. Customers should receive this information from their Cray Research service representative. For all source installations, your Cray Research service representative can obtain the fix via the getfix tool. Due to the number of executables which use this library routine, it is not possible to provide getfix packages for all binary installations. UNICOS binary update packages 8.0.4.2 and 9.0.1.2 include this mod. FIX AVAILABILITY ---------------- Release Level Fix Package Affected Product Containing Fix Availability ================ ============== =========== = UNICOS 8.0 UNICOS 8.0.4.2 * source only = UNICOS 8.3 ** source only = UNICOS 9.0 UNICOS 9.0.1.2 *** source only = = = * Released for all platforms. = ** No more updates planned. = *** Released for X-MP, Y-MP, C-90 and T-90 platforms but has not yet = released for YMP-EL and J-90 platforms. - --------------------- Data General Corporation The DG/UX operating system is NOT vulnerable to this problem. This includes all currently supported release, DG/UX 5.4 Release 3.00, DG/UX 5.4 Release 3.10, DG/UX Release 4.10 and all related Trusted DG/UX products. - --------------------- Digital Equipment Corporation As a modification to information provided at the time the CA-95:13 advisory was distributed, Digital Equipment Corporation has provided the following additional information. This information, and additional details, was originally published in Digital advisory SSRT0359, dated 29.NOV.1995. This information is available via normal support channels or by access of Digital's AES (advanced electronic services). Symptoms of this vulnerability have been verified on: ULTRIX V4.3 (VAX) DEC OSF/1 V2.0,(V2.0B,V2.1,V2.1B) ULTRIX V4.3 (MIPS) DEC OSF/1 V3.0 ULTRIX V4.3A (MIPS) DEC OSF/1 V3.0B ULTRIX V4.4 (VAX) DEC OSF/1 V3.2 ULTRIX V4.4 (MIPS) DEC OSF/1 V3.2B ULTRIX V4.5 (MIPS) DEC OSF/1 V3.2C ULTRIX V4.5 (VAX) Digital Equipment Corporation strongly urges Customers to upgrade to a minimum of ULTRIX V4.3 (VAX / MIPS) or DEC OSF/1 V3.2, then apply the appropriate solution kit identified below. Digital has corrected this potential vulnerability and provided kits containing new binaries. The appropriate kit and images are identified as follows: ULTRIX DEC OSF/1 ------ --------- ECO ID ECO ID SSRT0359_ULT45 SSRT0359_OSF1032C Image_Names Image_Names Within the tar file Within the tar file ----------------- ----------------- 4.3/MIPS/sendmail 3.0b/libc.so 4.3/MIPS/syslog.o 3.0b/libc.a 4.3/VAX/sendmail 3.0/libc.so 4.3/VAX/syslog.o 3.0/libc.a 4.3A/MIPS/sendmail 3.2b/libc.so 4.3A/MIPS/syslog.o 3.2b/libc.a 4.4/MIPS/sendmail 3.2c/libc.so 4.4/MIPS/syslog.o 3.2c/libc.a 4.4/VAX/sendmail 3.2/libc.a 4.4/VAX/syslog.o 3.2/libc.so 4.5/MIPS/sendmail 2.0/libc.a 4.5/MIPS/syslog.o 2.0/libc.so 4.5/VAX/sendmail 4.5/VAX/syslog.o Please note that ECO SSRT0359_ULT45 contains a version of sendmail that supersedes all previous sendmail related ECO's. The above kits can be obtained through your normal Digital support channels. They may also be obtained via the public link domain; http://www.service.digital.com/html/patch_service.html - Please refer to the applicable Cover Letter and Readme files information prior to the installation of the remedial solutions on your system. NOTE: For non-contract/non-warranty customers orders - there may be a nominal charge for the kits, to cover the costs of media and handling. As always, Digital urges you to periodically review your system management and security procedures. Digital will continue to review and enhance the security features of its products and work with customers to maintain and improve the security and integrity of their systems. - --------------------- Hewlett-Packard Company =The following information about fixes for the syslog problem is =contained in the HP Vendor Bulletin HPSBUX9602-029 released February =7, 1996 and also in the CIAC Bulletin G-11 released February 12, 1996. = = Determine which patch is appropriate for your hardware platform = and operating system: = = PHCO_6595 (series 700/800, HP-UX 10.0 & 10.01), or = PHCO_6598 (series 800, HP-UX 9.0 & 9.04), or = PHCO_6597 (series 700, HP-UX 9.0[1357]), or = PHCO_6224 (series 300/400, HP-UX 9.0, 9.01, 9.03 & 9.1), or = PHCO_6162 (series 700, HP-UX 9.08 BLS), or = PHCO_6161 (series 700, HP-UX 9.09 BLS), or = PHCO_6160 (series 700, HP-UX 9.09+ BLS), or = PHCO_6157 (series 700, HP-UX 10.09 BLS CMW). = = To obtain a copy of the HP SupportLine email service user's = guide, send the following in the TEXT PORTION OF THE MESSAGE to = support@us.external.hp.com (no Subject is required): = = send guide = = The users guide explains the process for downloading HP-UX = patches via email and other services available. = = World Wide Web service for downloading of patches = is available via our URL: (http://us.external.hp.com) - -------------------- IBM Corporation Both fixes are now currently available. Please reference the following fixes: AIX 4.1 - IX53718 AIX 3.2 - IX53358 - --------------------- Open Software Foundation OSF cannot reproduce the security hole in OSF/1. However we have reproduced the problem with syslog(3). We have a fix for the syslog(3) problem. Support customers should contact OSF for the fix. The fix will be included in the OSF/1 R1.3.2 update release. - --------------------- Silicon Graphics Inc. =SGI does have pending information and this information will be available via =anonymous ftp (sgigate.sgi.com). = =Following information was obtained from README.patch.825. = =For the IRIX operating system versions 5.2, 5.3, 6.0, 6.0.1, and 6.1 =an inst-able patch has been generated and made available via anonymous =ftp and/or your service/support provider. The patch is number 825 =and will install on IRIX 5.2, 5.3, 6.0 and 6.0.1 . = =The SGI anonymous ftp site is sgigate.sgi.com (204.94.209.1). Patch =825 can be found in the following directories on the ftp server: = = ~ftp/Security = = or = = ~ftp/Patches/5.2 = ~ftp/Patches/5.3 = ~ftp/Patches/6.0 = ~ftp/Patches/6.0.1 = = ##### Checksums #### = = The actual patch will be a tar file containing the following files: = = Filename: README.patch.825 = Algorithm #1 (sum -r): 01444 57 README.patch.825 = Algorithm #2 (sum): 12914 57 README.patch.825 = MD5 checksum: 98C010655D46A61F77D791A279493BAC = = Filename: patchSG0000825 = Algorithm #1 (sum -r): 37486 2 patchSG0000825 = Algorithm #2 (sum): 62783 2 patchSG0000825 = MD5 checksum: 37D9840567CB48C58F43FA10A83E2CC0 = = Filename: patchSG0000825.eoe_man = Algorithm #1 (sum -r): 51345 75 patchSG0000825.eoe1_man = Algorithm #2 (sum): 13139 75 patchSG0000825.eoe1_man = MD5 checksum: 7CB2968AB462CF3C4BBC78002F005EEF = = Filename: patchSG0000825.eoe1_sw = Algorithm #1 (sum -r): 21533 381 patchSG0000825.eoe1_sw = Algorithm #2 (sum): 18413 381 patchSG0000825.eoe1_sw = MD5 checksum: 1BE858D769A51AA5A4D0754F03CC3124 = = Filename: patchSG0000825.idb = Algorithm #1 (sum -r): 41651 4 patchSG0000825.idb = Algorithm #2 (sum): 10648 4 patchSG0000825.idb = MD5 checksum: 05B2D1CE3D9804F45CBDEFC27A53CAB5 - --------------------- Solbourne (Grumman) Solbourne 2.5 is not vulnerable. - --------------------- Sony Corporation NEWS-OS 6.0.3 and 6.1 are not vulnerable. - --------------------- Sun Microsystems, Inc. SunOS 5.5 is not vulnerable. Sun Microsystems has made the following patches available to address this vulnerability: PATCH # VERSION RELEASED --------- ----------- ------------ 100891-13 - SunOS 4.1.3 Oct 27, 1995 101558-07 - SunOS 4.1.3_U1 Oct 27, 1995 = 102545-04 - SunOS 4.1.4 Nov 16, 1995 102903-01 - Solaris 2.3 Nov, 2, 1995 = 101945-36 - Solaris 2.4 Jan 11, 1996 102905-01 - Solaris 2.4_x86 Nov, 2, 1995 Contact Sun for the details on obtaining these patches. _______________________________________________________________________________ CIAC wishes to acknowledge and thank CERT Coordination Center, ASSIST, IBM-ERS, and all the vendors for providing the information contained in this bulletin. A special thanks goes to Mark Abene for initial notification to vendors of the sendmail EXPN and VRFY vulnerability. _______________________________________________________________________________ CIAC, the Computer Incident Advisory Capability, is the computer security incident response team for the U.S. Department of Energy (DOE) and the National Institute 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 (14.4K baud) +1 (510) 423-3331 (14.4K 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) (F-27) Incorrect Permissions on /tmp (F-28) Vulnerability in SunOS 4.1.* Sendmail (-oR option) (G-01) Telnetd Vulnerability (G-02) SunOS 4.1.X Loadmodule Vulnerability (G-03) AOLGOLD Trojan Program (G-04) X Authentication Vulnerability (G-05) HP-UX FTP Vulnerability Bulletin (G-06A) Win95 Vulnerabilities (G-07) SGI Object Server Vulnerability (G-08) splitvt(1) vulnerability 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 ________________________________________________________________________ -----BEGIN PGP SIGNATURE----- Version: 2.6.2 iQCVAwUBMR/aQbnzJzdsy3QZAQEeIgQAvWqp0fVBvTpToJCw/lna9U1HS9AptF41 BO9ykYkpmeN49h3Ebh8vN6mIEm0FNomhljtsaliG1PkUstQ3guU0/E5TSTwkO/lq RsrnU83nBk2969CI2RtyBN2Nekf5PFVR7s4Pn+AX44fyCW/6cSJ3BjtjAJPr8AzV 1edLb+Pqi8g= =H/gZ -----END PGP SIGNATURE-----