Icono del sitio Una al Día

"screen" vulnerable a un ataque de formato

Las versiones de «screen» anteriores a la 3.9.8 son vulnerables a un
ataque de formato que posibilita la ejecución de código arbitrario. En
caso de que «screen» se haya instalado como SETUID «root», la
vulnerabilidad permite la ejecución de código arbitrario con
privilegios de «root». El ataque debe realizarse desde una cuenta
local.
«screen» es un programa que permite la multiplexación de múltiples
sesiones de terminal a través de una única pantalla. Permite también,
entre otras muchas cosas, el «desconectar» las sesiones y retomarlas
un tiempo más tarde desde otra localización física. Se trata, en
resumen, de un programa ampliamente utilizado por casi cualquier
administrador de sistemas, sobre todo si es responsable de numerosas
máquinas unix.

Las versiones anteriores a la 3.9.8 son vulnerables a un ataque de
formato que permite que un atacante local ejecute código arbitrario en
la máquina. En caso de que «screen» sea un proceso SETUID, el código
se ejecutará con privilegios de «root».

El ataque se realiza modificando el fichero de configuración
«.screenrc», más concretamente la variable «vbell_msg».

Hay tres soluciones:

1. Segurarse de que «screen» no sea SETUID. De esta forma el atacante
ejecutará el código de ataque con sus propios privilegios.

2. Aplicar el siguiente parche (como siempre, la ventaja de disponer
del código fuente: en la línea 2314 de «screen.c», cambiar
«Msg(0,VisualBellString);» por «Msg(0,»%s», VisualBellString);».

3. Actualizar a la versión 3.9.8 o superior de «screen».

Jesús Cea Avión
jcea@hispasec.com

Más información:

screen User Supplied Format String Vulnerability
http://www.securityfocus.com/bid/1641

SCREEN
ftp://ftp.uni-erlangen.de/pub/utilities/screen/

Acerca de Hispasec

Hispasec Ha escrito 7038 publicaciones.

Salir de la versión móvil