Security Vulnerability With Integer Multiplication Within libXfont Affects Solaris X11 Servers |
|
| Category : | Security |
| Release Phase : | Resolved |
| Product : | Solaris 9 Operating System Solaris 10 Operating System Solaris 8 Operating System
|
| Bug Id : | 6465806, 6465805
|
| Date of Workaround Release : | 14-NOV-2006
|
| Date of Resolved Release : | 09-MAR-2007
|
Impact
The Xsun(1) server and Xorg(1) server are the X display servers for Version 11 of the X window system on Solaris.
There exists an overflow vulnerability when performing integer multiplication within the libXfont library, as used by the X11 display servers, that can cause a heap overflow while loading the fonts. This may allow a local unprivileged user to be able to execute arbitrary commands with elevated privileges or create a Denial of Service (DoS) to the display managers.
This issue is described in the following documents:
Contributing Factors
This issue can occur in the following releases:
SPARC Platform
x86 Platform
Note: Xorg(1) is not shipped in Solaris 8
To determine the version of JDS that is currently installed on the system, run the following command (output will vary by platform):
% grep platform /usr/share/gnome/gnome-about/gnome-version.xml
<platform>2</platform>
Alternatively (for the same results), in a terminal window from within the GNOME desktop, the following command can be run:
% /usr/bin/gnome-about
Symptoms
There are no predictable symptoms that would indicate that this issue has been exploited to execute arbitrary commands with elevated privileges. The symptom of the Denial of Service (DoS) would be the absence of either the Xsun(1) or Xorg(1) server running on the system.
Workaround
To prevent this issue from being exploited to execute arbitrary commands with elevated privileges, the setuid(2) bit can be removed from the Xorg server and the Xsun server on the x86 platform and the setgid(2) bit can be removed from the Xsun server on the SPARC platform. For example:
# chmod 0755 /usr/openwin/bin/Xsun
# chmod 0755 /usr/X11/bin/Xorg
Note 1: Performing the above procedure will disable the following:
- The ability to start either the Xsun(1) or Xorg(1) server from the command line for non-root users on the Solaris x86 platform.
- The ability of Xsun(1) and Xorg(1) to open Unix domain sockets and named pipe transports in the protected "/tmp/.X11-*" directories.
- The ability to configure Power Management and Interactive Process Priority control on Solaris SPARC.
These features will still be available to Xsun and Xorg when started via a display manager such as dtlogin(1), gdm(1), or xdm(1).
Note 2: There is no workaround to prevent this issue from being exploited to cause a Denial Of Service to the X Servers.
Note 3: The "chmod" command for Xorg(1) is applicable only to Solaris 9 and 10.
Note 4: Local users on the console of a system using an X display manager and Sun Ray users may still be able to exploit this vulnerability to execute arbitrary commands with elevated privileges even if the setuid and setgid permissions have been removed from the Xsun and Xorg binaries.
Resolution
This issue is addressed in the following releases:
SPARC Platform
x86 Platform
Modification HistoryDate: 16-NOV-2006
- Updated Contributing Factors, Relief/Workaround, and Resolution sections
Date: 22-JAN-2007
22-Jan-2007:
- Updated Contributing Factors and Resolution sections
Date: 09-MAR-2007
- State: Resolved
- Updated Contributing Factors and Relief/Workaround sections
AttachmentsThis solution has no attachment