Vulnerabilidad Linux. Denegación de servicio en funciones futex

A través de las noticias de SecurityFocus he podido comprobar que se ha registrado una nueva vulnerabilidad del kernel Linux publicada con el descriptor Linux Kernel Futex Local Deadlock Denial Of Service Vulnerability. Según este servicio de información, se trata de un error de diseño.

Algunas funciones futex (Fast Userspace muTexes, funciones para generar bloqueos rápidos y semáforos, linux /futex.h) no especificadas del kernel Linux, al parecer, y por los citados errores en el diseño del núcleo, generan llamadas del tipo get_user() reteniendo simultáneamente el semáforo mmap_sem para propósitos de lectura, con el consiguiente bloqueo muerto.

Esto podría originar la posibilidad de que un usuario malicioso lanzara una denegación de servicio basada en un deadlock o bloqueo muerto del kernel. Las versiones del núcleo comprometidas son diversas, y se ha confirmado que la rama 2.6 está afectada.

La solución consiste en el parcheo de las porciones de código mal diseñadas, concretamente futex.c

Más información en este correo electrónico de David Howells (Red Hat) a Linus Torvalds y en el artículo de SecurityFocus.

Saludos y feliz parcheo ;)