__________________________________________________________ The U.S. Department of Energy Computer Incident Advisory Capability ___ __ __ _ ___ / | /_\ / \___ __|__ / \ \___ __________________________________________________________ INFORMATION BULLETIN Apache HTTP Server Chunk Encoding Vulnerability June 19, 2002 21:00 GMT Number M-093 [Revised 26 June 2002] ______________________________________________________________________________ PROBLEM: The Apache HTTP Server has a software flaw that misinterprets invalid requests encoded using chunked encoding. This error can be triggered remotely by sending certain invalid requests. PLATFORM: Any systems running Apache web server 1.3.24 and 2.0 up to and including 2.0.36. DAMAGE: Successful exploitation may lead to modified Web content, denial of service, or further compromise. SOLUTION: Users of Apache 1.3 should upgrade to 1.3.26, and users of Apache 2.0 should upgrade to 2.0.39, which contains a fix for this issue. ______________________________________________________________________________ VULNERABILITY The risk is HIGH. The vulnerability is in the default version ASSESSMENT: of Apache HTTP Server described above. It is possible for remote attackers to exploit this vulnerability to compromise Apache Web servers. There are known exploits widely available on the Internet. ______________________________________________________________________________ LINKS: CIAC BULLETIN: http://www.ciac.org/ciac/bulletins/m-093.shtml ORIGINAL BULLETIN: http://httpd.apache.org/info/security_bulletin_20020617.txt - 26 June, 2002 - Supersedes Apache security bulletin 20020617. http://httpd.apache.org/info/security_bulletin_20020620.txt - 32- and 64-bit platforms are exploitable. UPGRADE: http://www.apache.org/dist/httpd/ ______________________________________________________________________________ [****** Start of Apache Bulletin ******] SUPERSEDES: http://httpd.apache.org/info/security_bulletin_20020617.txt Date: June 20, 2002 Product: Apache Web Server Versions: Apache 1.3 all versions including 1.3.24; Apache 2.0 all versions up to 2.0.36; Apache 1.2 all versions. CAN-2002-0392 (mitre.org) [CERT VU#944335] - ---------------------------------------------------------- ------------UPDATED ADVISORY------------ - ---------------------------------------------------------- Introduction: While testing for Oracle vulnerabilities, Mark Litchfield discovered a denial of service attack for Apache on Windows. Investigation by the Apache Software Foundation showed that this issue has a wider scope, which on some platforms results in a denial of service vulnerability, while on some other platforms presents a potential remote exploit vulnerability. This follow-up to our earlier advisory is to warn of known-exploitable conditions related to this vulnerability on both 64-bit platforms and 32-bit platforms alike. Though we previously reported that 32-bit platforms were not remotely exploitable, it has since been proven by Gobbles that certain conditions allowing exploitation do exist. Successful exploitation of this vulnerability can lead to the execution of arbitrary code on the server with the permissions of the web server child process. This can facilitate the further exploitation of vulnerabilities unrelated to Apache on the local system, potentially allowing the intruder root access. Note that early patches for this issue released by ISS and others do not address its full scope. Due to the existence of exploits circulating in the wild for some platforms, the risk is considered high. The Apache Software Foundation has released versions 1.3.26 and 2.0.39 that address and fix this issue, and all users are urged to upgrade immediately. As a reminder, we respectfully request that anyone who finds a potential vulnerability in our software reports it to security@apache.org. - ---------------------------------------------------------- Full Description: Versions of the Apache web server up to and including 1.3.24 and 2.0 up to and including 2.0.36 contain a bug in the routines that deal with requests encoded using chunked encoding. This bug can be triggered remotely, and this functionality is enabled by default. In most cases the outcome of the invalid request is that the child process dealing with the request will terminate. At the least, this could help a remote attacker launch a denial of service attack as the parent process will eventually have to replace the terminated child process, and starting new children uses non-trivial amounts of resources. On the Windows and Netware platforms, Apache runs one multithreaded child process to service requests. The teardown and subsequent setup time to replace the lost child process presents a significant interruption of service. As the Windows and Netware ports create a new process and reread the configuration, rather than fork a child process, this delay is much more pronounced than on other platforms. In Apache 2.0, the error condition is correctly detected, so it will not allow an attacker to execute arbitrary code on the server. However, platforms could be using a multithreaded model with multiple concurrent requests per child process (although the default preference remains multiple processes with a single thread and request per process, and most multithreaded models continue to create multiple child processes). Using any multithreaded model, all concurrent requests currently served by the affected child process will be lost. In Apache 1.3, the issue should cause a stack overflow. Due to the nature of the overflow on 32-bit Unix platforms, this should cause a segmentation violation and cause the child to terminate. However, some 32-bit platforms are indeed exploitable due to quirks in their implementation. 64-bit platforms are also likely to be exploitable due to a data type conversion that occurs within Apache. We have been made aware that Apache 1.3 on Windows is exploitable in a similar way as well. [****** End of Apache Bulletin ******] _______________________________________________________________________________ CIAC wishes to acknowledge the contributions of The Apache Software Foundation 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 925-422-8193 (7x24) FAX: +1 925-423-8002 STU-III: +1 925-423-2604 E-mail: ciac@ciac.org Previous CIAC notices, anti-virus software, and other information are available from the CIAC Computer Security Archive. World Wide Web: http://www.ciac.org/ Anonymous FTP: ftp.ciac.org 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 via WWW at http://www.first.org/. 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) M-084: Red Hat "pam_ldap" Vulnerability M-085: IMAP Partial Mailbox Attritbute Buffer Overflow Vulnerability CIACTech02-004: Parasite Programs; Adware, Spyware, and Stealth Networks M-086: Sun SEA SNMP Vulnerability M-087: SGI IRIX rpc.passwd Vulnerability M-088: MS Unchecked Buffer in Gopher Protocol Handler M-089: MS Heap Overrun in HTR Chunked Encoding Vulnerability M-090: Microsoft Unchecked Buffer in RAS Phonebook Vulnerability M-091: Microsoft Unchecked Buffer in SQLXML Vulnerability M-092: Cisco Buffer Overflow in UNIX VPN Client