- Sun Alert ID: 101478 (formerly 57539)
- Synopsis: Security Vulnerability Involving the Common Desktop Environment (CDE) dtlogin(1X) Command When Parsing XDMCP Requests (CERT VU#179804)
- Category: Availability
- Product: Solaris 9 Operating System, Solaris 7 Operating System, Solaris 8 Operating System
- BugIDs: 5022437
- Avoidance: Patch, Workaround
- State: Resolved
- Date Released: 07-May-2004, 03-Aug-2004
- Date Closed: 03-Aug-2004
- Date Modified: 10-May-2004, 11-Jun-2004, 03-Aug-2004
1. 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)
2. Contributing Factors
This issue can occur in the following releases:
SPARC Platform
- Solaris 7 without patch 107180-31
- Solaris 8 without patch 108919-21
- Solaris 9 without patch 112807-09
x86 Platform
- Solaris 7 wthout patch 107181-31
- Solaris 8 without patch 108920-21
- Solaris 9 without patch 114210-08
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
3. 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
| Solution Summary | Top |
4. Relief/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.
5. Resolution
This issue is addressed in the following releases:
SPARC Platform
- Solaris 7 with patch 107180-31 or later
- Solaris 8 with patch 108919-21 or later
- Solaris 9 with patch 112807-09 or later
x86 Platform
Change History
- Updated Contributing Factors and Resolution sections
- Updated Relief/Workaround section
- State: Resolved
- Updated Contributing Factors and Resolution sections
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-2006 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, CA 95054 U.S.A. All rights reserved.

Sun Contracted Content
Sun Contracted Feature
