Multiple Security Vulnerabilities in the FreeType2 library for Printer Font Binary (PFB) or TrueType Font (TTF) format font files may lead to a Denial of Service (DoS) or allow Execution of Arbitrary Code |
|
| Category : | Security |
| Release Phase : | Resolved |
| Bug Id : | 6714118
|
| Product : | Solaris 8 Operating System Solaris 9 Operating System Solaris 10 Operating System OpenSolaris
|
| Date of Workaround Release : | 18-Jun-2008
|
| Date of Resolved Release : | 12-Aug-2008
|
Multiple Security Vulnerabilities in the FreeType2 library for Printer Font Binary (PFB) or TrueType Font (TTF) format font files may lead to a Denial of Service (DoS) or allow Execution of Arbitrary Code
1. Impact
Multiple security vulnerabilities exist in
the FreeType 2 library in
Solaris when parsing Printer Font Binary (PFB) or TrueType Font (TTF)
format font files. These
vulnerabilites may allow a local unprivileged user to either cause
an application using FreeType 2 as a font service to crash or to
execute
arbitrary commands with the privileges of the application. The ability
to
crash an application is a type of Denial of service (DoS).
These issues are described in the following documents:
2. Contributing Factors
These issues can occur in the following releases:
SPARC Platform
- Solaris 8 without patch 124420-04
- Solaris 9 without patch 116105-09
- Solaris 10 without patch 119812-06
- OpenSolaris based upon builds snv_01 through snv_92
x86 Platform
- Solaris 8 without patch 124421-04
- Solaris 9 without patch 116106-08
- Solaris 10 without patch 119813-08
- OpenSolaris based upon builds snv_01 through snv_92
Notes:
1. Only OpenSolaris installations including the affected binary
"
/usr/lib/libfreetype.so.6" are
impacted by this issue.
2. OpenSolaris distributions may include additional bug fixes above and
beyond the base build from which it was derived. The base build
can be derived as follows:
$ uname -a
SunOS osolsys 5.11 snv_86 i86pc i386 i86pc
3. Applications are impacted only if they link to the FreeType 2
library (libfreetype). A partial test to check if an application links
with a library such as libfreetype is to use ldd(1):
$ ldd /usr/bin/fc-cache | grep libfreetype
libfreetype.so.6 => /usr/sfw/lib/libfreetype.so.6
4. A comprehensive test to check if an application links with a library
such as libfreetype requires the use of pldd(1) against the running
application since ldd(1) does not list any shared objects explicitly
attached using dlopen(3C). For example:
$ pldd `pgrep fc-cache` | grep libfreetype
/usr/sfw/lib/libfreetype.so.6
3. Symptoms
There are no predictable symptoms that would indicate that these issues
have been exploited to execute arbitrary code.
4. Workaround
The Xorg(1) X server is a privileged application available in
OpenSolaris, Solaris 10, and Solaris 9 (x86 systems only) which links
to the libfreetype library. In order to prevent these issues from
being exploited against the Xorg(1) X server to execute arbitrary
commands with the privileges of the Xorg(1) X server, the setuid(2) bit
on x86 systems and the setgid(2) bit on SPARC systems can be removed.
For example:
# chmod 0755 /usr/X11/bin/Xorg
On x86 systems running Solaris 10 Update 4 or later:
# chmod 0755 /usr/X11/bin/i386/Xorg /usr/X11/bin/amd64/Xorg
Similar chmod(1) commands can be applied on any setuid(2) or setgid(2)
application that links to the Free Type library (libfreetype).
Note 1: Removing the setuid(2)
bit or the setgid(2) bit from the Xorg binary will disable the
following:
- The ability to start the Xorg(1) server from the command line for
non-root users on Solaris 10.
- The ability of Xorg(1) to open Unix domain sockets and named pipe
transports in the protected "/tmp/.X11-*" directories.
These features will still be available to Xorg when started via a
display manager such as dtlogin(1), gdm(1), or xdm(1).
Note 2: There is no workaround
to prevent these issues from being exploited to cause a Denial of
Service to the X Server.
Note 3: Local users on the
console of a system using an X display manager and Sun Ray users may
still be able to exploit these vulnerabilities to execute arbitrary
commands with elevated privileges even if the setuid(2) and setgid(2)
permissions have been removed from the Xorg(1) binary.
5. Resolution
These issues are addressed in the following releases:
SPARC Platform- Solaris 8 with patch 124420-04 or later
- Solaris 9 with patch 116105-09 or later
- Solaris 10 with patch 119812-06 or later
- OpenSolaris based upon build snv_93 or later
x86 Platform- Solaris 8 with patch 124421-04 or later
- Solaris 9 with patch 116106-08 or later
- Solaris 10 with patch 119813-08 or later
- OpenSolaris based upon build snv_93 or later
For more information
on Security Sun Alerts, see Technical
Instruction
ID 213557.
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
such an agreement, the Sun.com Terms of Use. This Sun Alert
notification may only be used for the purposes contemplated by these
agreements.
Copyright 2000-2008 Sun Microsystems,
Inc., 4150 Network Circle, Santa
Clara, CA 95054 U.S.A. All rights reserved.
Modification History12-Aug-2008: Updated Contributing Factors and Resolution sections; now Resolved
AttachmentsThis solution has no attachment