Note: This is an archival copy of Security Sun Alert 200410 as previously published on http://sunsolve.sun.com. Latest version of this security advisory is available from http://support.oracle.com as Sun Alert 1000295.1. |
Category Security Category Availability Release Phase Resolved Solaris 9 Operating System Solaris 7 Operating System Solaris 8 Operating System Bug Id 5022437 Date of Workaround Release 07-MAY-2004 Date of Resolved Release 03-AUG-2004 Impact A local or remote unprivileged user may be able to gain unauthorized root privileges or cause a denial of service due to a "double-free" vulnerability in the CDE login service dtlogin(1X) which can be triggered when parsing invalid X Display Manager Control Protocol (XDMCP) packets. If the dtlogin(1X) program is killed, users will be unable to login on any Sun Ray devices attached to the server, and the console will display the command line login prompt. This issue is also described in CERT Vulnerability VU #179804 (see http://www.kb.cert.org/vuls/id/179804) Contributing Factors This issue can occur in the following releases: SPARC Platform
x86 Platform
This issue may occur on systems running dtlogin(1X). To determine if dtlogin(1X) is running on a system, use the "ps" command as shown below: % ps -ef | grep dtlogin Symptoms If an application core file is captured for this issue, it will be found in "/core" and will contain a stack trace similar to the following: core 'core' of 2999: /usr/dt/bin/dtlogin -daemon ff310dd8 XdmcpDisposeARRAY8 (0, 0, fef66fc0, fef6a680, ff080fe4, 0) + 4 ff310e74 XdmcpDisposeARRAYofARRAY8 (ffbffb70, 0, 0, 0, ffbffc44, ff) + 1c 00025528 request_respond (ffbffc44, 20, 6, ffbffbfc, 6, 0) + 464 00024398 ProcessRequestSocket (6, 43c00, 1ac, ffbffc44, 270, 18) + 244 00023f68 WaitForSomething (40, 20, 3f400, 6, 3ec00, 1) + 208 000190e8 main (2, 0, 48618, 48400, ffbffe7c, 48400) + 338 00015b68 _start (0, 0, 0, 0, 0, 0) + 10 Workaround If dtlogin(1X) exits unexpectedly, it may be restarted using the following command as root: # /etc/init.d/dtlogin start To reduce the possibility of the described issue from occurring, network administrators should block UDP(7P) packets to port 177 across any firewall where XDMCP remote session service is not required. If no graphical login access is required for local console users, Sun Ray devices, or remote XDMCP sessions, dtlogin(1X) may be disabled completely by running the following command as root: # /usr/dt/bin/dtconfig -d and then stop the currently running dtlogin: # /usr/dt/bin/dtconfig -kill If XDMCP remote session access to a machine is not required at all, but graphical login access for the console and/or Sun Ray devices is required, dtlogin(1X) can be configured to not listen for XDMCP connections by editing the "/etc/dt/config/Xconfig file" and removing the "#" symbol at the beginning of the following line: # Dtlogin.requestPort 0 If the "/etc/dt/config/Xconfig" file does not exist, create it by doing the following: # mkdir -p /etc/dt/config # cp /usr/dt/config/Xconfig /etc/dt/config # /etc/init.d/dtlogin reset Note: Controlling access via the access control list in the "Xaccess" file is not effective at preventing this issue. Resolution This issue is addressed in the following releases: SPARC Platform
x86 Platform
Modification History Date: 10-MAY-2004
Date: 11-JUN-2004
Date: 03-AUG-2004
References108919-21108920-21 112807-09 114210-08 107180-31 107181-31 Attachments This solution has no attachment |
|