Un atacante puede acceder a cualquier archivo existente en una máquina
Solaris donde se ejecute el daemon kcms_server.
KCMS («Kodak Color Management System») es un conjunto de funciones,
incorporadas en el sistema operativo Solaris, que mejoran la apariencia
y ofrecen una reproducción adecuada de las imágenes digitales a color
obteniendo las máximas prestaciones tanto de los ordenadores como de los
dispositivos asociados. Las funciones de esta biblioteca realizan las
manipulaciones y correcciones de color necesarias.
kcms_server es un daemon que permite a la biblioteca KCMS acceder a los
perfiles almacenados en máquinas remotas. Estos perfiles se encuentran
almacenados en los directorios /etc/openwin/devdata/profiles y
/usr/openwin/etc/devdata/profiles.
Existe una vulnerabilidad de escalada de directorios en la función
KCS_OPEN_PROFILE que puede ser utilizada para acceder a cualquier
archivo existente en un sistema remoto vulnerable. Dado que el
kcms_server se ejecuta con privilegios de root, esta vulnerabilidad
permite a un atacante acceder a cualquier archivo de un sistema
vulnerable.
Esta vulnerabilidad afecta a todas las versiones de Solaris posteriores
a la 2.5.1 y hasta la versión 9 (incluida) en las plataformas Sparc e
Intel.
Para determinar si una máquina Solaris ejecuta este kcms_server, puede
ejecutarse el siguiente mandato:
$ ps -ef | grep kcms_server
root 484 156 0 15:12:01 ? 0:00 kcms_server
Si lo que desea es determinar el puerto tcp utilizado por el demonio, es
preciso utilizar el programa rpcinfo:
$ rpcinfo -p | grep 100221
100221 1 tcp 32781
$ netstat -a | grep 32781
*.32781 Idle
*.32781 *.* 0 0 24576 0 LISTEN
en este caso, el servicio está operativo y asociado al puerto 32781/tcp
Hasta el momento en que Sun facilite el parche que elimine esta
vulnerabilidad, se aconseja deshabilitar el servicio kcms_server. Para
ello es preciso editar el archivo /etc/inetd.conf y comentar la línea
#
# Sun KCMS Profile Server
#
100221/1 tli rpc/tcp wait root /usr/openwin/bin/kcms_server kcms_server
y reiniciar inetd. Si esto no es posible, como mínimo deben configurarse
las medidas de protección perimetrales para impedir la utilización del
servicio desde redes inseguras, como puede ser Internet.
xavi@hispasec.com
Deja una respuesta