Se han descubierto varias vulnerabilidades locales y remotas en el núcleo Linux que puden producir una denegación de servicio o la ejecución de código arbitrario. El proyecto «Common Vulnerabilities and Exposures» identifica los siguientes problemas:
«Solar Designer» descubrió que las computaciones aritméticas en la función do_replace() de netfilter podía producir un desbordamiento de buffer y la ejecución de código arbitrario. Sin embargo, la operación necesitaba privilegios de CAP_NET_ADMIN, que sólo es una incidencia de la virtualización de sistemas con control de acceso de grano fino.
«Solar Designer» descubrió una condición de fuga en la función do_add_counters() de netfilter, lo que permitía una revelación de información de la memoria del núcleo sacando provecho de una condición de fuga. Al igual que CVE-2006-0038, necesita privilegios de CAP_NET_ADMIN.
Se descubrió que los sistemas Intel EM64T eran susceptibles de un ataque de denegación de servicio, debido a un fallo de recursividad infinita relacionado con una dirección de entrada ELF incorrecta.
La función die_if_kernel() se declaraba incorrectamente como «nunca retorna», de lo que podía sacar provecho un atacante local para provocar la caída del núcleo.
Se descubrió que las máquinas AMD64 (y otros procesadores AuthenticAMD de 7ª y 8ª generación) eran vulnerables a la revelación de información sensible, debido a la forma de gestionar el almacenamiento y la restauración de los registros FOP, FIP y FDP x87 en FXSAVE/FXRSTOR, cuando había una excepción pendiente. Permitía que un proceso determinase porciones del estado de las instrucciones de punto flotante de otros procesos.
Marco Ivaldi descubrió que había una revelación fortuita de información que permitía que los atacantes remotos eludiesen las protecciones contra el escaneo (nmap -sI), abusando del campo id. de los paquetes IP y eludiendo el id. IP cero en el contador del tamaño del paquete DF. Era un resultado del incremento inadecuado del campo id. IP en la función ip_push_pending_frames, al enviar un RST después de recibir paquetes TCP SYN-ACK no solicitados.
Pavel Kankovsky informó de la existencia de una potencial debilidad de información resultante del fallo al inicializar sin.sin_zero en el código del socket IPv4.
Shaun Tancheff descubrió un desbordamiento de buffer (error en condición de límites) en la implementación de USB Gadget RNDIS, que permitía que los atacantes remotos provocasen una denegación de servicio. Al crear un mensaje de respuesta, la memoria la reservaba el controlador para los datos de la respuesta, pero no para su estructura. El núcleo fallaba al comprobar los límites de los datos suministrados por el usuario antes de copiarlos a un buffer de memoria de un tamaño insuficiente. Los atacantes podían hacer caer el sistema o, posiblemente, ejecutar código máquina arbitrario.
Hugh Dickins descubrió una incidencia en la función madvise_remove(), ya que no se seguían las restricciones de file y de mmap, lo que permitía que los usuarios locales eludiesen los permisos IPC y que reemplazasen las porciones de sólo lectura de los archivos tmpfs con ceros.
Alexandra Kossovsky informó de un fallo de dirección con referencia a puntero NULL en ip_route_input(), que podía producir un usuario local solicitando una ruta para una dirección IP multicast, provocando una denegación de servicio (panic).
Vlad Yasevich informó de una incidencia en la validación de datos en el subsistema SCTP, que podía permitir que un usuario remoto desbordase un buffer usando una porción HB-ACK, provocando una denegación de servicio.
Vlad Yasevich informó de un error en el código de comprobación de los limites en el subsistema SCTP, que podía permitir que un atacante remoto realizase un ataque de denegación de servicio utilizando longitudes redondeadas de parámetros para calcular la longitud del parámetro en lugar de los valores reales.
Mark Mosely descubrió chroots residentes en un recurso compartido SMB, que se podían escapar con secuencias «cd» perniciosas.
El «Mu security team» descubrió que porciones perniciosas de ECNE podían provocar una caída del núcleo, accediendo a entradas estables incorrectas en el subsistema de seguridad de red SCTP, lo que podía permitir una denegación de servicio.
El «Mu security team» descubrió que porciones fragmentadas de control SCTP podían producir kernel panics, lo que a su vez podía permitir ataques de denegación de servicio.
Se descubrió que los paquetes SCTP con dos paquetes iniciales de haces de datos podía producir una recursividad infinita, lo que permitía ataques de denegación de servicio.
La siguiente matrix explica qué versiones del núcleo y para qué arquitecturas se han corregido los problemas anteriores:
| Debian 3.1 (sarge) | |
|---|---|
| Fuente | 2.4.27-10sarge3 |
| Arquitectura Alpha | 2.4.27-10sarge3 |
| Arquitectura ARM | 2.4.27-2sarge3 |
| Arquitectura Intel IA-32 | 2.4.27-10sarge3 |
| Arquitectura Intel IA-64 | 2.4.27-10sarge3 |
| Arquitectura Motorola 680x0 | 2.4.27-3sarge3 |
| MIPS Big endian | 2.4.27-10.sarge3.040815-1 |
| MIPS Little endian | 2.4.27-10.sarge3.040815-1 |
| Arquitectura PowerPC | 2.4.27-10sarge3 |
| Arquitectura IBM S/360 | 2.4.27-2sarge3 |
| Arquitectura Sun Sparc | 2.4.27-9sarge3 |
La siguiente matriz muestra paquetes adicionales que se han recompilado por compatibilidad o para sacar partido de esta actualización:
| Debian 3.1 (sarge) | |
|---|---|
| fai-kernels | 1.9.1sarge2 |
| kernel-image-2.4.27-speakup | 2.4.27-1.1sarge2 |
| mindi-kernel | 2.4.27-2sarge2 |
| systemimager | 3.2.3-6sarge2 |
Le recomendamos que actualice inmediatamente el paquete del núcleo y que reinicie la máquina. Si ha compilado un núcleo personalizado usando el paquete kernel source, tiene que recompilarlo para poder aplicar estas correcciones.
Las sumas MD5 de los ficheros que se listan están disponibles en el aviso original.