Apple Quicktime, some British Telcom and other third party active-X controls, and an F-Secure file handler all have high risk vulnerabilities, but overall it is not a bad week at all.
==============
More good news: we have a bonus report for you at the end of this issue. It is a new educational @RISK for programmers that IT security managers or development managers may distribute to programmers and testers. The new SANS Software Security @RISK: Secure Coding Error of the Month takes a recent critical vulnerability - one that did some real damage -- and shows the exact programming error that allowed the application to be exploited. This first issue focuses on an Apache Webserver error. We are announcing it as part of the run up to the Application Security Summit in Washington later this summer. More info on the Summit at http://www.sans.org/appsummit07/
==================
And a gift as well: We've just finished a longitudinal study of security and audit salaries from 1999 to 2007. If you'll complete the 2007 Salary Survey, we'll give you the executive summary of the longitudinal analysis (telling where salaries went up and down the most, and why). The salary survey is at: http://www.surveymethods.com/EndUser.aspx?84A0CCD18DC6D2
Alan
@RISK is the SANS community's consensus bulletin summarizing the most important vulnerabilities and exploits identified during the past week and providing guidance on appropriate actions to protect your systems (PART I). It also includes a comprehensive list of all new vulnerabilities discovered in the past week (PART II).
****************** Sponsored By Sourcefire, Inc. *******************
Hackers are keeping up with their training. Are you? Whether you're looking to take a Sourcefire® or SNORT® class or gain full certification, Sourcefire offers a wide selection of courses for your convenience. Learn how to get the most from your Snort or Sourcefire system. Contact Sourcefire Training today at 734.743.6550 or go to http://www.sans.org/info/8221
*********************************************************************
TRAINING UPDATE: This Wednesday is the deadline for lowest-cost registration for SANSFire in Washington this summer (more than 50 courses from Hacker Exploits to Forensics to Wireless to Secure Coding to PCI and CISSP) Complete course schedule is at: https://www.sans.org/sansfire07/event.php
And the European SANS Conference is in Belgium at the end of June: http://www.sans.org/brussels07/
**********************************************************************
*********************** Sponsored Links: **************************
1) SANS Voucher Credits Maximize your Training Budget Save 15-30% on SANS training & certification Visit http://www.sans.org/info/8226 or Email Vouchers@sans.org
2) Listen to SANS WhatWorks web cast from May 31st, WhatWorks in Event and Log Management: Driving Compliance with Log Management at Tyson Foods http://www.sans.org/info/8231
3) 2007 SANS Log Management Market Report web cast, June 6th at 1pm EDT. Register today. http://www.sans.org/info/8236
*********************************************************************
Part I for this issue has been compiled by Rob King and Rohit Dhamankar at TippingPoint, a division of 3Com, as a by-product of that company's continuous effort to ensure that its intrusion prevention products effectively block exploits using known vulnerabilities. TippingPoint's analysis is complemented by input from a council of security managers from twelve large organizations who confidentially share with SANS the specific actions they have taken to protect their systems. A detailed description of the process may be found at http://www.sans.org/newsletters/cva/#process
Description: Apple Quicktime, Apple's cross-platform streaming media layer, contains a flaw in its interaction with Sun's Java Runtime Environment. A specially-crafted web page that instantiates QuickTime for Java objects could exploit this vulnerability and potentially corrupt memory in such a way that an attacker could execute arbitrary code with the privileges of the current user. Depending on configuration, no user interaction other than viewing a malicious web page would be necessary for exploitation. Note that QuickTime is installed by default on Mac OS X and is installed as part of Apple's iTunes for Windows. This vulnerability is distinct from the vulnerability discussed in the previous issues of @RISK.
Status: Apple confirmed, updates available.
Council Site Actions: Most of the reporting council sites are responding. At most sites the Quicktime users have auto-update enabled. Other sites plan to push the updates during the next regularly scheduled system maintenance.
Description: The following ActiveX controls have been reported to contain vulnerabilities that could lead to remote code execution: (a) British Telecommunications Business Connect and Consumer Webhelper ActiveX controls (b) Media Technology Group CDPass ActiveX control (c) EDraw Office Viewer ActiveX control (d) Zenturi ProgramChecker ActiveX control A specially crafted web page that instantiates one of these controls could exploit these vulnerabilities to execute arbitrary code with the privileges of the current user. Note that reusable exploit code that targets arbitrary ActiveX controls is widely available and easily modified to attack these controls.
Status: Users are advised to check with vendors to determine the update status of these vulnerabilities. Users can mitigate the impact of these vulnerabilities by disabling the controls via Microsoft's "kill bit" mechanism.
Council Site Actions: The affected software and/or configuration are not in production or widespread use, or are not officially supported at any of the responding council sites. They reported that no action was necessary.
Description: Multiple products based on the F-Secure antivirus engine for Microsoft Windows and Linux contain a flaw in their processing of LHA archives. LHA is a popular archive format similar to ZIP or RAR. A specially-crafted LHA archive file could trigger this flaw, and exploit a buffer overflow to execute arbitrary code with the privileges of the scanning process. Note that, since some products using the vulnerable engine scan large amounts of traffic (including email), simply having a specially-crafted email transit a vulnerable server would be sufficient to trigger this vulnerability. In many cases, the vulnerable software may run with elevated (root or SYSTEM) privileges.
Status: F-Secure confirmed, updates available.
Council Site Actions: The affected software and/or configuration are not in production or widespread use, or are not officially supported at any of the responding council sites. They reported that no action was necessary.
Description: According to a PNSC security advisory, the Apache web server contains multiple vulnerabilities. Flaws in processing requests could lead to multiple denial-of-service conditions. By sending a specially-crafted request, an attacker could cause a denial-of-service condition in the Apache process or related processes. Depending on configuration, an attacker may be able to exhaust processor resources, leading to a system-wide denial-of-service attack, or be able to send a POSIX "SIGUSR1" signal to an arbitrary process, leading to a denial-of-service condition in an arbitrary process on the vulnerable system. Note that, because Apache is open source, technical details for these flaws are available via source code analysis.
Status: Apache has not confirmed, no updates available.
Council Site Actions: All of the reporting council sites are using the affected software and plan to distribute patches once they are available.
Description: Applications based on the Mozilla framework contain multiple vulnerabilities. The most serious of these is a vulnerability that leads to memory corruption; it is believed that this may be exploitable for remote code execution, though this has not been proven yet. Additionally, an attacker may be able to exploit other denial-of-service, cross-site scripting, resource denial, or information disclosure vulnerabilities. The technical details can be obtained via source code analysis.
Status: Mozilla confirmed, updates available.
Council Site Actions: All reporting council sites are responding to this issue. Although this application is not officially supported at most of the council sites, each site said that their user based either has they auto-update feature enabled, or they will work with the users to update as appropriate.
Description: The Avira Antivir antivirus engine, a popular antivirus engine, contains multiple vulnerabilities: (a) A flaw in the parsing of LZH formatted archives can lead to arbitrary code execution with the privileges of the vulnerable process. LZH is an archive file format, similar to ZIP or RAR, and is related to the LHA archive file format. (b) Flaws in the handling of UPX-compressed executables and tar archives can lead to multiple denial-of-service conditions. Note that, because the antivirus engine may be running on mail or other servers, simply sending a specially crafted email that transits a vulnerable system may be sufficient to exploit one of these conditions.
Status: Avira confirmed, updates available.
Council Site Actions: The affected software and/or configuration are not in production or widespread use, or are not officially supported at any of the responding council sites. They reported that no action was necessary.
Description: Avast! antivirus, a popular antivirus engine, contains an integer overflow flaw in the parsing of Symbian Installation Source (SIS) files. This file format is used to package applications for various mobile devices utilizing the Symbian operating system. A specially crafted SIS file could trigger this vulnerability, and potentially execute arbitrary code with the privileges of the vulnerable process. Note that, because the vulnerable software may be running in a mode that results in the automatic scanning of files, simply sending an email to a vulnerable user may be sufficient to trigger this vulnerability.
Status: Vendor confirmed, updates available.
Council Site Actions: The affected software and/or configuration are not in production or widespread use, or are not officially supported at any of the responding council sites. They reported that no action was necessary.
This list is compiled by Qualys ( www.qualys.com ) as part of that company's ongoing effort to ensure its vulnerability management web service tests for all known vulnerabilities that can be scanned. As of this week Qualys scans for 5465 unique vulnerabilities. For this special SANS community listing, Qualys also includes vulnerabilities that cannot be scanned remotely.
========================================================================= SANS Software Security @RISK: Secure Coding Error of the Month Vol. 1, Num. 1 June 3, 2007 =========================================================================
Millions of problems from one coding error.
The apache.org foundation reports that more than 10 million copies its Apache Tomcat package have been downloaded, providing Java servlet functionality for web servers throughout the world. Moreover, Tomcat is frequently used as a standalone web server in high-traffic and high-availability environments where sensitive and valuable information are stored.
So a programming error by one of the Tomcat developers is a BIG error. If it opens a security hole, millions of people now need to patch their systems. It is an even bigger problem because, sadly, thousands or tens of thousands of sites will not install the patch, possibly because no one will tell them about the need to do so, and will become victims of data theft, extortion, and other cyber crimes.
As you read this first edition of SANS Software Security @RISK newsletter, note how little effort would have been needed to avoid the problem.
***************************************************** Apache Tomcat JK Web Server Connector Buffer Overflow *****************************************************
What kind of error is it? A buffer overflow. - -------------
Buffer overflow is one of the oldest types of security vulnerabilities discovered as early as mid sixties. As the name suggests, the vulnerability arises when a programmer allows more data to be crammed into a storage area than the programmer had originally set aside. When the data overflows the reserved area, bad things often happen.
In early March, a critical buffer overflow was disclosed in versions of Apache Tomcat JK Web Server Connector.
This vulnerability is a stack-based buffer overflow. The flaw can be triggered by a long URI input to the mod_jk module. An unauthenticated user can exploit this overflow by sending a large URI to execute arbitrary code of his choice on the server.
Information about the problem of interest to security professionals -- the vulnerable versions of Tomcat, damage that can be done, and exploits in the wild -- have all been well covered in SANS weekly @RISK newsletter and elsewhere (and are referenced at the end of this issue). Here we focus instead on the aspect of the problem relevant to programmers: the programming error that led to this huge problem?
What coding error was responsible for this vulnerability? - ------------------------------------------------------------------------
Buffer overflows arise because programmers forget to check that the length of data being copied into a buffer is less than or equal to the buffer size.
Let us now look at the vulnerable function that led to the Tomcat overflow.
The buffer overflow was found in the map_uri_to_worker() function that is defined in native/common/jk_uri_worker_map.c file.
#define JK_MAX_URI_LEN 4095 (From jk_uri_worker_map.h)
************* Function code ************* const char *map_uri_to_worker(jk_uri_worker_map_t *uw_map, const char *uri, jk_logger_t *l) { unsigned int i; char *url_rewrite; const char *rv = NULL; char url[JK_MAX_URI_LEN+1];
JK_TRACE_ENTER(l);
if (!uw_map || !uri) { JK_LOG_NULL_PARAMS(l); JK_TRACE_EXIT(l); return NULL; } if (*uri != '/') { jk_log(l, JK_LOG_WARNING, "Uri %s is invalid. Uri must start with /", uri); JK_TRACE_EXIT(l); return NULL; }
############################### Erroneous Code in this function ###############################
for (i = 0; i < strlen(uri); i++) if (uri[i] == ';') break; else url[i] = uri[i]; url[i] = '