Mostrando entradas con la etiqueta Kernel. Mostrar todas las entradas
Mostrando entradas con la etiqueta Kernel. Mostrar todas las entradas

viernes, 17 de agosto de 2018

Foreshadow, nuevo ataque basado en la ejecución especulativa

A Spectre y Meltdown se les suma un nuevo ataque (en realidad son varios) del tipo "ejecución especulativa". Las consecuencias, al igual que los anteriores ataques, es la capacidad de leer zonas de la memoria a las que no se debería de tener acceso.

Este tipo de ataques se basan, como ya hemos mencionado, en la ejecución especulativa. ¿Qué es? Es una técnica de optimización que utilizan los microprocesadores para ir "adelantando" trabajo. Mientras que un grupo de instrucciones se está ejecutando, otro hilo del procesador puede ejecutar instrucciones futuras o acceder a recursos adicionales basado simplemente en la especulación, es decir, en "creer" que el proceso va a necesitar esos cálculos o recursos en un futuro. Naturalmente, eso es una apuesta con sus correspondientes probabilidades, siendo normal y factible que todo ese trabajo que se ha adelantado no sirva para nada, dado que el proceso puede derivar perfectamente en otro cauce de ejecución.



Por poner un ejemplo más mundano, supón que un día ves con tus amigos dos capítulos de una serie, preparáis las bebidas, palomitas y os acopláis en el sofá. Al día siguiente hacéis lo mismo, al otro también y como supones que eso va a ocurrir al siguiente del siguiente (porque a la serie le quedan dos capítulos para que termine), preparas el refrigerio y acomodas el salón antes de que tus amigos aparezcan, pero llega el momento y tus amigos no llegan. ¿Qué haces? Te comes el refrigerio tu sólo porque no ha servido para lo que pensabas. Has adelantado trabajo "especulando" qué podría ocurrir.

Las víctimas de "Arquitectura de Computadores I, II y III", saben que diseñar microprocesadores de cierta complejidad es una tarea destinada a unos pocos seres humanos con cierto volumen craneal, necesario para evitar la expansión cerebral que produce el calentamiento inherente al diseño de estos ingenios. Y como con todo lo que conlleva la palabra humano: nada es perfecto. Así que cuando diseñaron la forma en la que se traducen direcciones de la memoria virtual de un proceso de usuario a memoria física (o real), incluyeron también la posibilidad de mapear la memoria del kernel y de paso, la de otros procesos. ¿Qué podría salir mal?

Ojo, que esto no significa que a las bravas puedas leerlo. No, no, no. De ningún modo. Un proceso de usuario no puede venirse arriba y decir: "Venga, voy a aprovechar que tengo pendiente una lectura de disco y me voy a guardar cuatro páginas enteras de memoria del kernel y de paso un par del proceso bash del vecino". Para ello existe un mecanismo que comprueba si dicho proceso posee derechos de acceso a esas partes de la memoria. Una especie de aduana digital donde se comprueba la mercancía que se está intentando llevar un proceso. "Oiga, pollo, pare, pare. ¿De donde ha sacado usted esos 256 bytes con pinta de clave RSA privada. ¿Ah, que es de un amigo? ¡Claro!, como no. Venga por aquí."


Vale, vale, pero ¿Cómo se explota?

Bien, hemos comentado a muy alto nivel que todo esto se basa en adelantar trabajo, ya sea ejecutando de antemano saltos en el código que podrían o no ejecutarse (predicción de saltos), procesar conjuntos de instrucciones que se pueden ejecutar de forma independiente al conjunto en ejecución actual (ejecución fuera de orden), etc. Y por otro lado, hemos dicho que en la memoria de un proceso, por diseño, se mapean las direcciones de la memoria del kernel y otros procesos (debido a que se está traduciendo memoria virtual a física y viceversa). 

Pues el problema principal de seguridad es que cuando se está produciendo la ejecución especulativa, no se están revisando los privilegios de un proceso respecto a esa zona de memoria. Se dejan para después, cuando se hace efectiva la ejecución adelantada. Mientras tanto, los datos de esas zonas de memoria a las que no se debería acceder, permanecen en la memoria caché, donde mediante la aplicación de ciertas técnicas, pueden ser leídas. Esto es en lo que, de forma general, se basan este tipo de vulnerabilidad.


Foreshadow y Foreshadow-NG

Foreshadow fue descubierta por un grupo de investigadores procedentes de varias universidades y centros de investigación. Pertenece a la familia de fallos sobre los que ya hemos hablado, ataques sobre la ejecución especulativa. En particular, este ataque se centra sobre una característica en particular SGX (Software Guard Extensions). Esta tecnología permite a un proceso de usuario proteger una zona de memoria incluso del acceso por parte de procesos más privilegiados. 

Por poner un ejemplo, supongamos que mapeamos 16 kilobytes de memoria y la protegemos mediante SGX, pues se supone que ni siquiera un proceso root podría tener acceso a ese fragmento de datos. Esto permite un nivel de protección muy útil cuando queremos proteger datos de importancia sin recurrir a cifrado.

El grupo que descubrió el fallo reportó los detalles a Intel para que contrastaran los hallazgos. Pues además de confirmar el fallo, el propio equipo de Intel ha descubierto una nueva forma de ataque que han denominado "L1 Terminal Fault" y que posibilitaría la lectura completa de la caché L1. 

La caché L1 es la más cercana al procesador (existe una jerarquía de memorias caché, clasificadas según la "cercanía" al procesador), lo que significa que posee poca capacidad relativa de memoria pero una alta velocidad en la recuperación de datos e instrucciones. Esto se traduce en una memoria muy viva, con datos de procesos que están siendo ejecutados en ese momento y por supuesto, muy relacionada con la ejecución especulativa de estos últimos. Razón por la cual, con los elementos que ya hemos explicado, la hace objeto de la tormenta perfecta.

Consecuencias. Es posible leer la caché L1, pieza útil en mecanismos como el ya descrito SGX, memoria del kernel y máquinas virtuales, además de memoria del modo SMM (System Management Mode) que regula funciones de muy bajo nivel relacionadas con el hardware subyacente, por ejemplo, la gestión de energía, etc. Como apuntan en el estudio, esto tiene importantes consecuencias en la nube, donde el uso de la virtualización forma la espina dorsal del paradigma. 

Intel ha actualizado el microcódigo de los procesadores afectados, aunque señala que habrá que actualizar sistemas operativos y las soluciones de virtualización para impedir la explotación del fallo. Tanto Microsoft como el kernel Linux han aportado ya una solución para la causa en la parte que les toca. 

Se han asignado los siguientes CVEs para las distintas variedades del ataque:

- CVE-2018-3615 para el ataque sobre SGX
- CVE-2018-3620 para la memoria del kernel y SMM
- CVE-2018-3646 para el que afecta a máquinas virtuales

Podéis encontrar una amplia lista de procesadores afectados en esta página.


Bonus track:

Foreshadow es una palabra inglesa que hace mención a una figura o recurso literario que anticipa al lector unos hechos que han de producirse, pero de una forma tan sutil que impide que este se haga una idea directa y clara de ese futuro. En español se denominaría: presagio.






David García
@dgn1729
Más información:






martes, 20 de marzo de 2018

Ubuntu, Arch y Fedora afectadas por una vulnerabilidad en el kernel

La vulnerabilidad con código CVE-2013-1763 afecta a un amplio rango de distribuciones, entre ellas Fedora, Ubuntu y Arch Linux. Esta vulnerabilidad, cuenta además con el código para explotarla, que permite obtener privilegios de root. En esta entrada analizaremos cómo se obtienen dichos privilegios.

Esta vulnerabilidad afecta a las versiones del kernel 3.0-37.10 y se encuentra en 'net/core/sock_diag.c' donde la función '__sock_diag_rcv_msg' no hace hace una comprobación de `bounds check` del array 'sock_diag_handles' provocando una 'out-of-bounds exception' y permitiendo a usuarios sin privilegios de root obtenerlo.

En los sistemas Linux de 32 bits, cada proceso virtualizará 4GB de espacio de memoria, siendo 3GB de estos el espacio de usuario y 1GB el espacio del kernel. En este caso el rango de user-space es 00000000 a 0xBFFFFFFF y el espacio de kernel 0xC0000000 a 0xFFFFFFFF. El espacio del kernel es compartido por todos los procesos sin embargo, sólo pueden acceder los procesos que se estén ejecutando en kernel-mode. Los procesos a nivel de usuario pueden acceder a kernel-mode a través de `syscalls`. Si un proceso se ejecuta en kernel-mode, las direcciones generadas pertenecen al espacio del kernel.

Las funciones 'commit_creds' y 'prepare_kernel_cred' son funciones del kernel y para poder ejecutarlas tendríamos que pasar a kernel-mode; por tanto si la función '__sock_diag_rcv_msg' se ejecuta en kernel-mode, podemos aprovecharla para ganar privilegios de root.



Se aplica un mmap al rango de memoria 0x10000-0x120000, incluyendo una serie de NOPs hasta poder colocar correctamente la payload que salta al código que pertenece a kernel-mode. En Ubuntu, no se puede obtener el valor de la variable 'rehash_time' de dicho rango de memoria, por lo que sólo es válido el siguiente método para obtenerla:

`sudo cat /boot/System.map-3.5.0-17-generic`


Tras conseguir toda esta información, el usuario puede obtener privilegios de root. Como contra, para poder ejecutar este exploit más de una vez, es necesario reiniciar el sistema operativo.





Fernando Díaz
fdiaz@hispasec.com

Más información:

CVE-2013-1763:
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1763

Linux Kernel < 3.5.0-23 (Ubuntu 12.04.2 x64) - 'SOCK_DIAG' SMEP Bypass Local Privilege Escalation:

martes, 13 de febrero de 2018

Driver vulnerable en Gundam Online (BANDAI NAMCO)

Los laboratorios de Kaspersky detectan una muestra que es constantemente clasificada para análisis exhaustivos al ser detectada por su plugin de exploits. Al examinarla, resulta ser un driver de Gundam Online, el videojuego de NAMCO.

Para poder entender esto, tenemos que conocer qué es SMEP. SMEP (Supervisor Mode Execution Protection), es una característica que marca todas las páginas disponibles para distinguirlas entre aquellas que pueden ejecutar código en ring-0 o no. SMEP se encuentra activo cuando el bit SMAP del registro CR4 y la paginación se encuentran establecidos. Con este mecanismo, todos los intentos implícitos de lectura de memoria de paginas en user-land con un privilegio menor que ring-3 serán bloqueadas siempre que SMAP esté habilitado.

Durante su ejecución, se observa que una página de user-space es llamada desde el driver de CAPCOM justo después de que se cree una petición IOCTL (0x0AA012044) al DeviceObject \\.\Htsysm7838 - Este comportamiento no debería ser válido, ya que SMEP no lo permite; por lo que se debería generar una excepción de violación de acceso y detener el sistema con un BSOD.


Flujo de llamadas para habilitar y deshabilitar SMEP.

En este fragmento, podemos observar cómo esta rutina que contiene un puntero a una función en userspace, deshabilita SMEP para llamar a dicha función en user-land. Tras esto, rehabilita SMEP volviendo a su estado original. 
Para poder llamar a dicha función, necesitaríamos tener el bit CR4 (que mencionamos al principio de la entrada) que es justo lo que la función indicada como disableSMEP hace.

Analizando el driver podemos observar que solo acepta dos IOCTL:


IOCTL validos.

Este driver no tiene ninguna comprobación de seguridad extra, por tanto cualquier aplicación desde user-land podría explotar el IOControlCode a través de la API DeviceIoControl, conociendo el código de control del driver.


Definición de kernel32!DeviceIoControl (https://msdn.microsoft.com/es-es/library/windows/desktop/aa363216(v=vs.85).aspx)

Prueba de concepto de la vulnerabilidad. 

Resultado de la prueba de concepto. Aunque se podría haber incluido una shellcode y el resultado sería distinto.

Por tanto, un atacante podría crear una aplicación desde user-land y provocar la ejecución de código o provocar un crash en el sistema. Para hacer la prueba, se ha utilizado una cadena basura para demostrar el problema, sin embargo es posible utilizar una shellcode. En caso de que el Driver no estuviera instalado en el sistema, al estar firmado no habrá problemas para incorporarlo al sistema por parte de un atacante. 




Al ser informados BANDAI NAMCO eliminaron el driver problemático que ya no es cargado por el juego, siendo la actuación similar al driver de CAPCOM.

Fernando Díaz
fdiaz@hispasec.com
Más información:

SMEP: What is it, and how to beat it on Windows:
http://j00ru.vexillium.org/?p=783

Supervisor Mode Access Prevention (SMEP):
https://en.wikipedia.org/wiki/Supervisor_Mode_Access_Prevention

Elevation of privileges in Namco Driver:

sábado, 8 de julio de 2017

Actualización del kernel para Red Hat Enterprise Linux 7

Red Hat ha publicado una actualización (considerada importante) del kernel para toda la familia Red Hat Enterprise Linux 7 que solventa cinco nuevas vulnerabilidades que podrían ser aprovechadas por atacantes para provocar denegaciones de servicio o elevar privilegios.

El primer problema, con CVE-2017-7477, un desbordamiento de búfer basado en la memoria heap cuando se usa el parámetro 'MAX_SKB_FRAGS + 1' y la función 'NETIF_F_FRAGLIST' que podría permitir a un atacante elevar sus privilegios en el sistema. El cliente RPC NFS2/3 puede enviar argumentos muy largos al servidor NTS lo que puede dar lugar a un acceso a memoria fuera de límites, que podría permitir a un atacante remoto provocar condiciones de denegación de servicio (CVE-2017-7645).

Las implementaciones del servidor NFSv2 y NFSv3 en el kernel de Linux hasta 4.10.13 carecen de determinadas comprobaciones para finalización de un búfer. Un atacante remoto podría provocar denegaciones de servicio (CVE-2017-7895). Los kernel compilados con soporte Virtual Machine (CONFIG_KVM) basado se ven afectados por una denegación de servicio o una elevación de privilegios dentro de la máquina invitada (CVE-2017-2583). Por último, un error en el tratamiento de paquetes con la bandera URG puede provocar denegaciones de servicio (CVE-2017-6214).

También se han corregido otros seis fallos no relacionados directamente con problemas de seguridad.

Detalles sobre la aplicación de ésta actualización se encuentran disponibles en:

Más información:

Important: kernel security and bug fix update




Antonio Ropero

Twitter: @aropero

lunes, 6 de marzo de 2017

Actualización del kernel para Red Hat Enterprise Linux 7

Red Hat ha publicado una actualización (considerada importante) del kernel para toda la familia Red Hat Enterprise Linux 7 que solventa cuatro nuevas vulnerabilidades que podrían ser aprovechadas por atacantes para provocar denegaciones de servicio o elevar privilegios en el sistema.

El primer problema, con CVE-2016-8630, reside en una desreferencia de puntero nulo cuando el kernel de Linux está compilado con soporte de maquinas virtuales basadas en el Kernel (CONFIG_KVM). Podría permitir a atacantes remotos provocar condiciones de denegación de servicio.

Una condición de carrera que provoca un uso de memoria después de liberarla en la implementación de sockets raw en el subsistema de red del kernel de Linux al tratar la sincronización mientras se crea el búfer TPACKET_V3. Un usuario local capaz de abrir un socket raw podría utilizar esto para elevar sus privilegios en el sistema (CVE-2016-8655, Importante).

Por otra parte, con CVE-2016-9083, un fallo en la implementación VFIO del kernel de Linux. Un atacante que emita un ioctl puede crear una situación de corrupción de memoria y modificar la memoria fuera del área esperada. Esto puede permitir sobrescribir la memoria del kernel y alterar la ejecución del kernel.

Por último, con CVE-2016-9084, el uso de kzalloc con una multiplicación de enteros puede permitir un desbordamiento de entero en vfio_pci_intrs.c. En combinación con la vulnerabilidad anterior puede permitir a un atacante usar memoria sin asignar y provocar una condición de denegación de servicio.

Detalles sobre la aplicación de ésta actualización se encuentran disponibles en:

Más información:

Important: kernel security, bug fix, and enhancement update



Antonio Ropero
Twitter: @aropero

jueves, 23 de febrero de 2017

Vulnerabilidad en el kernel de Linux desde hace más de 11 años

Se ha anunciado la existencia de una vulnerabilidad en el kernel de Linux que podría permitir a usuarios locales obtener privilegios de root y que todo indica que existíadesde hace más de 11 años. Las principales distribuciones ya disponen de actualizaciones.

El fallo, al que se le ha asignado el CVE-2017-6074, reside en una doble liberación de memoria, fue descubierto por Andrey Konovalov, ingeniero de software de Google, mediante syzkaller, un fuzzer (un tipo de analizador) Linux de código abierto desarrollado por la propia firma.

Concretamente, la vulnerabilidad se encuentra en la implementación del protocolo DCCP (Datagram Congestion Control Protocol) desde la primera versión en soportarlo, la 2.6.14 (que data de octubre de 2005). Y que según describe el propio investigador podría aprovecharse para conseguir la ejecución de código kernel desde un proceso sin privilegios.

Para que un sistema sea vulnerable, el kernel debe estar compilado con la opción CONFIG_IP_DCCP. Actualmente, muchas de las distribuciones incluyen esta opción activa por defecto.

El problema se reportó a los desarrolladores del kernel el pasado 15 de febrero, dos días después ya existía un parche y se notificó a las distribuciones, la mayoría de las cuales ya disponen de actualizaciones.

Red Hat Enterprise Linux 6
Ubuntu Linux 12.04 LTS
Red Hat Enterprise Linux 7
Ubuntu Linux 16.10
Red Hat Enterprise Linux 7
Ubuntu Linux 14.04 LTS
Ubuntu Linux 16.04 LTS
Oracle Linux 6
Oracle Linux 6 y 7.

Más información:

Linux kernel: CVE-2017-6074: DCCP double-free vulnerability (local root)

syzkaller

dccp: fix freeing skb too early for IPV6_RECVPKTINFO

domingo, 5 de febrero de 2017

Actualización del kernel para SuSE Linux Enterprise 11

SuSE ha publicado una actualización del kernel para SuSE Linux Enterprise 12 destinado a solucionar 46 vulnerabilidades que podrían permitir a un atacante provocar denegaciones de servicio, obtener información sensible, elevar sus privilegios en el sistema o ejecutar código arbitrario.

La lista de problemas corregidos es extensa, aunque sorprende encontrar una vulnerabilidad de denegación de servicio por el tratamiento de paquetes TCP ¡del 2004! (CVE-2004-0230). No es la única vulnerabilidad de varios años que se corrige, también se solucionan fallos del 2012, 2013 y seis vulnerabilidades del 2015. Denegaciones de servicio en la función sock_setsockopt de net/core/sock.c (CVE-2012-6704), y al permitir evitar los límites de los descriptores de archivo mediante el envío de cada descriptor sobre un socket UNIX antes de cerrarlo (CVE-2013-4312).

La mayoría de los problemas descritos permiten obtener información sensible o provocar condiciones de denegación de servicio. Solo dos de las vulnerabilidades podrían facilitar la ejecución remota de código arbitrario. Con CVE-2016-8633, drivers/firewire/net.c en kernels anteriores a 4.8.7 con configuraciones de hardware proco frecuentes mediante el envío de paquetes fragmentados manipulados. Y una vulnerabilidad de uso de memoria después de liberarla en la función __sys_recvmmsg de net/socket.c (CVE-2016-7117).

Otros problemas corregidos están relacionados con la implementación sg en el kernel de Linux, una lectura fuera de límites en el protocolo ping y varios problemas en sound/core/timer.c. Así como diferentes errores en las funciones tipc_msg_build de net/tipc/msg.c, sock_setsockopt de net/core/sock.c, disk_seqf_stop de block/genhd.c, get_task_ioprio de block/ioprio.c, tty_set_termios_ldisc de /tty/tty_ldisc.c, tcp_check_send_head de include/net/tcp.h, key_reject_and_link de security/keys/key.c, rds_inc_info_copy de net/rds/recv.c

Además se han corregido otros 31 problemas no relacionados directamente con fallos de seguridad.

La actualización afecta a:
SUSE Linux Enterprise Server 11-SP2-LTSS
SUSE Linux Enterprise Debuginfo 11-SP2

Se recomienda actualizar a la última versión del kernel, disponible a través de la herramienta automática YaST con el módulo "Online Update" o con la herramienta de línea de comando "zypper".

Más información:

SUSE-SU-2017:0333-1: important: Security update for the Linux Kernel





Antonio Ropero

Twitter: @aropero

lunes, 16 de enero de 2017

Actualización del kernel para Red Hat Enterprise Linux 6

Red Hat ha publicado una actualización (considerada importante) del kernel para toda la familia Red Hat Enterprise Linux 6 que solventa tres nuevas vulnerabilidades que podrían ser aprovechadas por atacantes remotos para ejecutar código arbitrario, provocar denegaciones de servicio o reiniciar conexiones.

El primer problema, con CVE-2016-7117, reside en un uso de memoria después de liberarla en el subsistema de sockets recvmmsg del kernel, que podría permitir a un atacante remoto ejecutar código arbitrario. Un acceso a memoria fuera de límites en setsockopt() que podría permitir provocar condiciones de denegación de servicio o divulgación del contenido del heap (CVE-2016-4998). Por último, un uso de memoria después de liberarla en tcp_xmit_retransmit_queue y otras funciones tcp_*, que podría provocar el reinicio de una conexión (CVE-2016-6828).

También se han corregido otros siete fallos no relacionados directamente con problemas de seguridad.

Detalles sobre la aplicación de ésta actualización se encuentran disponibles en:

Más información:

Important: kernel security and bug fix update


Antonio Ropero
Twitter: @aropero

lunes, 5 de diciembre de 2016

Actualización del kernel para SuSE Linux Enterprise 12

SuSE ha publicado una actualización del kernel para SuSE Linux Enterprise 12 destinado a solucionar 11 vulnerabilidades que podrían permitir a un atacante provocar denegaciones de servicio, obtener información sensible o elevar sus privilegios en el sistema.

Los problemas corregidos están relacionados con la función proc_keys_show de security/keys/proc.c, la implementación del sistema de archivos en el kernel de Linux mantiene el setgid durante una llamada setxattr, la function rfcomm_sock_bind de net/bluetooth/rfcomm/sock.c, net/ipv4/tcp_input.c del kernel de Linux no determina adecuadamente el ritmo de desafío de los segmentos ACK, una condición de carrera en la función sclp_ctl_ioctl_sccb de drivers/s390/char/sclp_ctl.c y en la función ioctl_send_fib de /scsi/aacraid/commctrl.c.

Por otra parte, un desbordamiento de búfer en la función brcmf_cfg80211_start_ap de drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c y una denegación de servicio en la pila IP del kernel Linux. También vulnerabilidades en drivers/infiniband/ulp/srpt/ib_srpt.c, en la función tcp_check_send_head de include/net/tcp.h, en la función arcmsr_iop_message_xfer de drivers/scsi/arcmsr/arcmsr_hba.c. 

Los CVE asociados a los problemas corregidos son: CVE-2015-8956, CVE-2016-5696, CVE-2016-6130, CVE-2016-6327, CVE-2016-6480, CVE-2016-6828, CVE-2016-7042, CVE-2016-7097, CVE-2016-7425, CVE-2016-8658 y CVE-2016-8666.

Además se han corregido otros 111 problemas no relacionados directamente con fallos de seguridad.

La actualización afecta a:
SUSE Linux Enterprise Workstation Extension 12-SP1
SUSE Linux Enterprise Software Development Kit 12-SP1
SUSE Linux Enterprise Server 12-SP1
SUSE Linux Enterprise Module for Public Cloud 12
SUSE Linux Enterprise Live Patching 12
SUSE Linux Enterprise Desktop 12-SP1

Se recomienda actualizar a la última versión del kernel, disponible a través de la herramienta automática YaST con el módulo "Online Update" o con la herramienta de línea de comando "zypper".

Más información:

SUSE-SU-2016:2912-1: important: Security update for the Linux Kernel




Antonio Ropero

Twitter: @aropero

miércoles, 7 de septiembre de 2016

Actualización del kernel para Debian Linux 8

Debian ha publicado una actualización del kernel 3.16.x, que soluciona cuatro vulnerabilidades en la última distribución estable del sistema operativo (Debian 8, jessie) y que podrían permitir a un atacante llegar a elevar privilegios, causar denegaciones de servicio y otros impactos no descritos. 

El primer problema, con CVE-2016-5696, reside en la implementación Linux de la característica TCP Challenge ACK que resulta en un canal lateral que se puede utilizar para encontrar las conexiones TCP entre direcciones IP específicas, y para inyectar mensajes en esas conexiones.

Esta vulnerabilidad puede permitir a atacantes remotos suplantar a otro usuario conectado al servidor o suplantar al servidor ante un usuario conectado. En caso de que el servicio utilice un protocolo con autenticación de mensajes (por ejemplo, TLS o SSH), esta vulnerabilidad sólo permite la denegación de servicio. Para realizar el ataque son necesarios unas decenas de segundos por lo que las conexiones TCP deberán mantener una duración para ser vulnerables.

Con CVE-2016-6136, un fallo 'double-fetch' o 'TOCTTOU' ("Time of check to time of use") en el subsistema de auditoría por el tratamiento de caracteres especiales en el nombre de un ejecutable. Cuando está activo el registro de auditoría de execve() puede permitir a un usuario local generar falsos mensajes de registro.

Por otra parte, con CVE-2016-6480, otro fallo 'double-fetch' o 'TOCTTOU' en el driver aacraid de las controladoras RAID Adaptec en la validación de mensajes 'FIB' pasados a través de llamadas al sistema ioctl().

Las vulnerabilidades 'TOCTTOU' ("Time Of Check To Time Of Use") se dan cuando se produce un cambio entre el momento en que se realiza una comprobación ("Time of Check") y el momento en que se usa esa comprobación ("Time of Use").

Por último, con CVE-2016-6828, una vulnerabilidad por uso de memoria después de liberarla en la implementación TCP, que puede ser aprovechada por usuarios locales para provocar denegaciones de servicio o elevar privilegios.

Se ha actualizado el kernel a la versión 3.16.36-1+deb8u1, además la nueva versión incluye otros cambios no relacionados con problemas de seguridad.

Se recomienda actualizar a través de las herramientas apt-get.

Más información:

Debian Security Advisory
DSA-3659-1 linux -- security update



Antonio Ropero
Twitter: @aropero


martes, 16 de agosto de 2016

Actualización del kernel para SuSE Linux Enterprise 11

SuSE ha publicado una actualización del kernel para SuSE Linux Enterprise 11 destinado a solucionar tres vulnerabilidades que podrían permitir a un atacante provocar denegaciones de servicio o elevar sus privilegios en el sistema.

La actualización afecta a SUSE Linux Enterprise Software Development Kit 11-SP4, SUSE Linux Enterprise Server 11-SP4, Linux Enterprise Server 11-EXTRA y SUSE Linux Enterprise Debuginfo 11-SP4.

El primer problema, con CVE-2016-5829, son múltiples desbordamientos de búfer en la función hiddev_ioctl_usage en drivers/hid/usbhid/hiddev.c en el kernel de Linux, que permitirían a usuarios locales provocar como mínimo denegaciones de servicio. Por otra parte, con CVE-2016-4997, un error en la implementación setsockopt en el subsistema netfilter del kernel de Linux podría permitir a usuarios locales elevar sus privilegios o provocar denegaciones de servicio. Por último, con CVE-2016-4470, la función key_reject_and_link de security/keys/key.c del kernel de Linux no asegura la inicialización de determinadas estructuras de datos, lo que podría permitir a usuarios locales provocar denegaciones de servicio.

Además se han corregido otros ocho problemas no relacionados directamente con fallos de seguridad.

Se recomienda actualizar a la última versión del kernel, disponible a través de la herramienta automática YaST con el módulo "Online Update" o con la herramienta de línea de comando "zypper".

Más información:

SUSE-SU-2016:2018-1: important: Security update for the Linux Kernel



Antonio Ropero

Twitter: @aropero

lunes, 27 de junio de 2016

Actualización del kernel para Red Hat Enterprise Linux 7

Red Hat ha publicado una actualización (considerada importante) del kernel para toda la familia Red Hat Enterprise Linux 7 que solventa dos nuevas vulnerabilidades que podrían ser aprovechadas por atacantes para provocar denegaciones de servicio o elevar privilegios.

El primer problema, con CVE-2016-4565, reside en la forma en que determinadas interfaces del subsistema Infiniband del kernel de Linux usan write() como sustituto de ioctl() bidireccional. Un usuario local sin privilegios podría usar este fallo para elevar sus privilegios en el sistema. Por otra parte, con CVE-2015-8767, una condición de carrera en la implementación SCTP del kernel de Linux al tratar determinadas llamadas sctp_accept() podría permitir a atacantes remotos provocar condiciones de denegación de servicio.

También se han corregido otros siete fallos no relacionados directamente con problemas de seguridad.

Detalles sobre la aplicación de ésta actualización se encuentran disponibles en:

Más información:

Important: kernel security and bug fix update



Antonio Ropero

Twitter: @aropero

domingo, 12 de junio de 2016

Actualización del kernel para Ubuntu Linux

Ubuntu ha publicado una actualización del kernel para Ubuntu 14.04 LTS que soluciona 10 nuevas vulnerabilidades que podrían ser aprovechadas por atacantes para provocar denegaciones de servicio, obtener información sensible o comprometer los sistemas afectados.

Los problemas corregidos residen en la obtención de información sensible a través del driver Ethernet Atheros L2 (CVE-2016-2117), obtención de información sensible o denegaciones de servicio por lecturas fuera de límite en OZMO USB sobre drivers de dispositivos wifi (CVE-2015-4004), una condición de carrera en TLB (Translation Lookaside Buffer) del kernel de Linux (CVE-2016-2069),denegación de servicio a través del controlador USB de dispositivo digitalizador GTCO (CVE-2016-2187) y desactivación de protección ASLR (Address Space Layout Randomization) (CVE-2016-3672).

Por otra parte una denegación de servicio local por uso después de liberar en el controlador USB CDC Network Control Model (CVE-2016-3951), una escritura fuera de límites en la implementación USB/IP podría permitir la ejecución remota de código arbitrario (CVE-2016-3955), fuga de información en las implementaciones de ANSI/IEEE 802.2 LLC type 2 Support (CVE-2016-4485) y en la interfaz socket de rutado netlink (rtnetlink) (CVE-2016-4486) y por último una denegación de servicio local en fs/pnode.c (CVE-2016-4581).

Detalles sobre la aplicación de ésta actualización se encuentran disponibles en:

Más información:

USN-2989-1: Linux kernel vulnerabilities


Antonio Ropero

Twitter: @aropero

sábado, 26 de diciembre de 2015

Actualización del kernel para SuSE Linux Enterprise 11

SuSE ha publicado una actualización del kernel para SuSE Linux Enterprise Server 11 SP4 (en todas sus versiones). Se han solucionado diez vulnerabilidades e incluye 57 correcciones de funcionalidades no relacionadas con seguridad.

El más grave de los problemas corregidos podría permitir a usuarios locales la elevación de privilegios por un fallo en arch/x86/entry/entry_64.S en plataformas x86_64 al procesar NMIs. Una denegación de servicio remota usando IPv6 RA con MTU falso. El resto de problemas podrían permitir causar condiciones de denegación de servicio de forma local, por bucl

Un error en arch/x86/entry/entry_64.S en plataformas x86_64 puede permitir la elevación de privilegios al tratar NMIs. En RDS no se verifica la existencia de transporte subyacente al crear una conexión lo que provoca el uso de un puntero nulo. Una denegación de servicio remota a través de valores MTU manipulados en un mensaje IPv6 Router Advertisement (RA)

Por otra parte denegaciones de servicio locales al montar sistemas de archivos ext4 en modo no-journal, en la función "slhc_init" de "drivers/net/slip/slhc.c", en el subsistema KVM, en la función "key_gc_unused_keys" de "security/keys/gc.c" a través de comandos keyctl manipulados y en la función "__rds_conn_create" de "net/rds/connection.c".

Los CVE asignados son: CVE-2015-7509, CVE-2015-7799, CVE-2015-8104, CVE-2015-5307, CVE-2015-7990, CVE-2015-5157, CVE-2015-7872, CVE-2015-0272 y CVE-2015-6937.

Además se han corregido otros 57 problemas no relacionados directamente con fallos de seguridad.

Se recomienda actualizar a la última versión del kernel, disponible a través de la herramienta automática YaST con el módulo "Online Update" o con la herramienta de línea de comando "zypper".

Más información:

SUSE Security Update: Security update for Linux Kernel
SUSE-SU-2015:2339-1




Antonio Ropero

Twitter: @aropero

domingo, 20 de diciembre de 2015

Actualización del kernel para Red Hat Enterprise Linux 7

Red Hat ha publicado una actualización (considerada importante) del kernel para toda la familia Red Hat Enterprise Linux 7 que solventa dos nuevas vulnerabilidades que podrían ser aprovechadas por atacantes para provocar denegaciones de servicio en entornos virtuales.

Los problemas corregidos residen en x86 ISA (Instruction Set Architecture) puede verse afectado por un ataque de denegación de servicio dentro de un entorno virtualizado debido a un bucle infinito por el tratamiento de excepciones (CVE-2015-5307, CVE-2015-8104). Un usuario del sistema huésped podrá provocar denegaciones de servicio en el sistema anfitrión.

También se han corregido otros ocho fallos no relacionados directamente con problemas de seguridad.

Detalles sobre la aplicación de ésta actualización se encuentran disponibles en:

Más información:

Security Advisory Important: kernel security and bug fix update



Antonio Ropero
Twitter: @aropero

domingo, 29 de noviembre de 2015

Actualización del kernel para SuSE Linux Enterprise 11

SuSE ha publicado una actualización del kernel para SuSE Linux Enterprise Server 11 SP3 (en todas sus versiones). Se han solucionado ocho vulnerabilidades e incluye 51 correcciones de funcionalidades no relacionadas con seguridad.

El más grave de los problemas corregidos podría permitir a usuarios locales la elevación de privilegios por un fallo en arch/x86/entry/entry_64.S en plataformas x86_64 al procesar NMIs. Una denegación de servicio remota usando IPv6 RA con MTU falso. El resto de problemas podrían permitir causar condiciones de denegación de servicio de forma local, por bucles infinitos a través de excepciones en microcódigo, con la función rds_conn_create en net/rds/connection.c o la función vhost_dev_ioctl en drivers/vhost/vhost.c.

Los CVE asignados son: CVE-2015-8104, CVE-2015-5307, CVE-2015-7990, CVE-2015-5157, CVE-2015-0272, CVE-2015-6937 y CVE-2015-6252

Además se han corregido otros 71 problemas no relacionados directamente con fallos de seguridad.

Se recomienda actualizar a la última versión del kernel, disponible a través de la herramienta automática YaST con el módulo "Online Update" o con la herramienta de línea de comando "zypper".

Más información:

SUSE Security Update: Security update for Linux Kernel
SUSE-SU-2015:2108-1




Antonio Ropero

Twitter: @aropero

domingo, 22 de noviembre de 2015

Actualización del kernel para Red Hat Enterprise Linux 7

Red Hat ha publicado una actualización (considerada importante) del kernel para toda la familia Red Hat Enterprise Linux 7 que solventa 15 nuevas vulnerabilidades que podrían ser aprovechadas por atacantes para provocar denegaciones de servicio o elevar sus privilegios en el sistema.

Los problemas corregidos más graves podrían permitir a usuarios locales elevar sus privilegios en el sistema. Están relacionados con un error en la forma en que el sistema de archivos trata determinadas operaciones de renombrado de archivos con un bind mount (CVE-2015-2925) y una condición de carrera en la forma en que el subsistema IPC del kernel inicializa determinados campos en una estructura de objetos IPC (CVE-2015-7613).

Otras vulnerabilidades podrían permitir provocar condiciones de denegación de servicio. Están relacionadas con los subsistemas KVM y TTY, el controlador de recursos de memoria (memcg), llamadas al sistema chown y execve, la implementación SCTP y el subsistema perf.

Detalles sobre la aplicación de ésta actualización se encuentran disponibles en:

Más información:

Important: kernel security, bug fix, and enhancement update



Antonio Ropero

Twitter: @aropero

lunes, 10 de agosto de 2015

Actualización del kernel para Red Hat Enterprise Linux 7

Red Hat ha publicado una actualización del kernel para toda la familia Red Hat Enterprise Linux 7 que solventa cuatro nuevas vulnerabilidades que podrían ser aprovechadas por atacantes para provocar denegaciones de servicio o elevar sus privilegios en el sistema. 

Un desbordamiento de entero en las conexiones netfilter del kernel Linux que podría provocar denegaciones de servicio (CVE-2014-9715), un desbordamiento de búfer en la funcionalidad de carga temprana de microcódigo podría permitir la elevación de privilegios (CVE-2015-2666). Un uso de memoria después de liberar en la implementación de sockets ping podría provocar denegaciones de servicio o elevaciones de privilegios en función de la plataforma (CVE-2015-3636), por último una vulnerabilidad en la implementación IPv6 del protocolo TCP/IP en el kernel, podría permitir a un atacante evitar que un sistema envíe o reciba paquetes de red (CVE-2015-2922).

Además se han solucionado otros fallos de menor importancia. Detalles sobre la aplicación de ésta actualización se encuentran disponibles en:

Más información:

Moderate: kernel security and bug fix update



Antonio Ropero

Twitter: @aropero