Note: This is an archival copy of Security Sun Alert 239186 as previously published on http://sunsolve.sun.com.|
Latest version of this security advisory is available from http://support.oracle.com as Sun Alert 1019395.1.
Solaris 10 Operating System
Date of Resolved Release
A Security Vulnerability in Solaris 10 involving the sendfilev() system call could result in Denial of Service (DoS) due to System Panic
A security vulnerability in Solaris 10 related to the sendfilev() system call may allow a user who has the ability to create pages that are hosted on a Solaris 10 system using Apache 2.2.x to create a carefully crafted web page which could cause a system panic resulting in a Denial of Service (DoS) condition.
In addition, it may be possible for a local unprivileged user to be able to panic the system with a specially crafted program which calls the sendfile() system call (using either the sendfilev(3EXT) library routine or else directly).
2. Contributing Factors
This issue can occur in the following releases:
Note: Solaris 8 and 9 are not impacted by this issue.
Note: OpenSolaris distributions may include additional bug fixes above and beyond the build from which it was derived. The base build can be derived as follows:
$ uname -a
Note: The issue may be triggered by Apache 2.2.x web servers when compiled without certain compiler switches. Apache binaries shipped with Solaris are correctly compiled to avoid this issue.
The system panics when kmem_flags are not set with a data fault, or alignment error (Sparc) or a General Protection Fault (x86/x64) from a random thread dealing with Streams dblk_t data types.
On a system with kmem_flags set to audit and redzone checking, (kmem_flags = 0x7 may be used), the system panics when kernel memory corruption is detected.
There is no workaround for this issue, unless the issue is triggered by Apache 2.2.x.
If the issue is triggered by Apache 2.2.x, the following is recommended:
Disable the use of sendfilev() in Apache by locating all the 'httpd.conf' files for all the Apache servers on the system and adding the following line:
then stop and restart all Apache instances.
This issue is addressed in the following releases:
This Sun Alert
notification is being provided to you on
an "AS IS"
basis. This Sun Alert notification may contain information provided by
third parties. The issues described in this Sun Alert notification may
or may not impact your system(s). Sun makes no representations,
warranties, or guarantees as to the information contained herein. ANY
AND ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR
NON-INFRINGEMENT, ARE HEREBY DISCLAIMED. BY ACCESSING THIS DOCUMENT YOU
ACKNOWLEDGE THAT SUN SHALL IN NO EVENT BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, PUNITIVE, OR CONSEQUENTIAL DAMAGES THAT ARISE OUT
OF YOUR USE OR FAILURE TO USE THE INFORMATION CONTAINED HEREIN. This
Sun Alert notification contains Sun proprietary and confidential
information. It is being provided to you pursuant to the provisions of
your agreement to purchase services from Sun, or, if you do not have
notification may only be used for the purposes contemplated by these
26-Aug-2008: Updated Contributing Factors and Workaround sections for Apache version clarification (2.2.x)
This solution has no attachment