Source: CERT/CC
A complete revision history can be found at the end of this file.
Any machine running Solaris 2.6, 7, or 8 with snmpXdmid installed
and enabled. snmpXdmid is installed and enabled by default on these
systems.
The CERT/CC has received numerous reports indicating
that a vulnerability in snmpXdmid is being actively
exploited. Exploitation of this vulnerability allows an intruder to
gain privileged (root) access to the system.
The SNMP to DMI mapper daemon (snmpXdmid) translates Simple Network
Management Protocol (SNMP) events to Desktop Management Interface
(DMI) indications and vice-versa. Both protocols serve a similar
purpose, and the translation daemon allows users to manage devices
using either protocol. The snmpXdmi daemon registers itself with the
snmpdx and dmid daemons, translating and forwarding requests from one
daemon to the other. snmpXdmid contains a buffer overflow in the code for translating
DMI indications to SNMP events. This buffer overflow is exploitable by
local or remote intruders to gain root privileges. More information about this vulnerability can be found in The contents of /dev/pts/01 may include The contents of /dev/pts/01/bin may includeSystems Affected
Overview
I. Description
CERT/CC Vulnerability Note VU#648304 - Sun Solaris DMI to SNMP mapper daemon snmpXdmid contains buffer overflow
Affected sites have reported discovering the following things on
compromised systems:
(the versions of 'ls' and 'find' installed by the rootkit do not show these directories)
II. Impact
A local or remote user that is able to send packets to the snmpXdmi daemon on a system may gain root privileges.
III. Solution
- Apply a patch from Sun when it is available
- Disable snmpXdmi
- Prevent the daemon from starting up upon reboot
- mv /etc/rc3.d/SXXdmi /etc/rc3.d/KXXdmi
- Killing the currently running daemon
- /etc/init.d/init.dmi stop
- Verify that the daemon is no longer active
- ps -ef | grep dmi
- As an additional measure, you may wish to make the daemon non-executable
- chmod 000 /usr/lib/dmi/snmpXdmid
- mv /etc/rc3.d/SXXdmi /etc/rc3.d/KXXdmi
- Restrict access to snmpXdmi and other RPC services
Sun has been notified of this issue and is actively working on patches to address the problem. This advisory will be updated when patches are available.
Until patches are available, sites that do not use both SNMP and DMI are stongly encouraged to disable snmpXdmid.
One way to accomplish this is to issue the following commands (as root):
For sites that require the functionality of snmpXdmi or other RPC services, local IP filtering rules that prevent hosts other than localhost from connecting to the daemon may mitigate the risks associated with running the daemon. Sun RPC services are advertised on port 111/{tcp,udp}. The snmpXdmid RPC service id is 100249; use 'rpcinfo -p' to list local site port bindings:
# rpcinfo -p | grep 100249100249 1 udp 32785
100249 1 tcp 32786
Note that site-specific port binding will vary.
Appendix A. - Vendor Information
Sun Microsystems
We can confirm that this affects all versions of Solaris that ship the SNMP to DMI mapper daemon, that is, Solaris 2.6, 7 and 8. To the best of my understanding from discussion with the engineering group working on this, for sites which do use DMI (dmispd) and the mapper (snmpXdmid), there are no workarounds.
The CERT/CC thanks Job de Haas (job@itsx.com) of ITSX BV Amsterdam, The Netherlands (http://www.itsx.com) for reporting this vulnerability to the CERT/CC.
This document was written by Brian B. King with significant contributions by Jeff Havrilla, and Cory F. Cohen.
Copyright 2001 Carnegie Mellon University.
Revision History
March 30, 2001: Initial release