sábado, 21 de agosto de 2010

Vulnerabilidades locales en el kernel Linux

Se han detectado recientemente dos vulnerabilidades en el kernel Linux, en su rama 2.6.x que podrían permitir a atacantes locales provocar una denegación de servicio u obtener acceso a información en memoria.

El primero de los fallos se da a la hora de limpiar la memoria en la función 'drm_ioctl' del fichero 'drivers/gpu/drm/drm_drv.c' del controlador DRM (Direct Rendering Manager). Un atacante local podría aprovechar esto para obtener acceso a direcciones de memoria basadas en pila anteriormente liberadas, mediante el envío de llamadas al sistema especialmente manipuladas y con acceso al servidor X.

El segundo problema es un desbordamiento de enteros en la familia de sockets 'AF_CAN', en concreto en los protocolos (Controller Area Network) y BCM (Broadcast Manager). Esto podría ser aprovechado por un atacante local para elevar privilegios a través del envío de paquetes CAN especialmente manipulados.

Se recomienda aplicar las contramedidas especificadas en el apartado de más información.


Laboratorio Hispasec
laboratorio@hispasec.com


Más información:

can: add limit for nframes and clean up signed/unsigned variables
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=5b75c4973ce779520b9d1e392483207d6f842cde

drm: stop information leak of old kernel stack.
http://git.kernel.org/?p=linux/kernel/git/airlied/drm-2.6.git;a=commitdiff;h=b9f0aee83335db1f3915f4e42a5e21b351740afd
http://git.kernel.org/?p=linux/kernel/git/airlied/drm-2.6.git;a=commitdiff&h=1b2f1489633888d4a06028315dc19d65768a1c05

No hay comentarios:

Publicar un comentario en la entrada