Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en El kernel de Linux (CVE-2019-10639)

Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-326 Fortaleza de cifrado inadecuada
Fecha de publicación:
05/07/2019
Última modificación:
07/11/2023

Descripción

El kernel de Linux versión 4.x (a partir de versión 4.1) y versión 5.x anterior a 5.0.8, permite la Exposición de Información (divulgación parcial de la dirección del kernel), lo que conlleva a una omisión de la funcionalidad KASLR. Específicamente, es posible extraer el desplazamiento de la imagen del kernel KASLR utilizando los valores ID de IP que el kernel produce para los protocolos sin conexión (por ejemplo, UDP e ICMP). Cuando dicho tráfico se envía a múltiples direcciones IP de destino, es posible obtener colisiones de hash (de índices en la matriz counter) y, por lo tanto, obtener la clave de hashing (mediante enumeración). Esta clave contiene suficientes bits de una dirección de kernel (de una variable estática) de manera que cuando se extrae la clave (por medio de la enumeración), queda expuesto el desplazamiento de la imagen del kernel. Este ataque se puede llevar a cabo remotamente, ya que el atacante forza al dispositivo de destino a enviar tráfico UDP o ICMP (o algunos otros) hacia direcciones IP controladas por el atacante. Forzar a un servidor a enviar tráfico UDP es trivial si el servidor es un servidor DNS. El tráfico de ICMP es trivial si el servidor responde a las peticiones de Eco de ICMP (ping). Para los objetivos cliente, si el objetivo visita la página web del atacante, entonces puede ser usado WebRTC o gQUIC para forzar el tráfico UDP hacia las direcciones IP controladas por el atacante. NOTA: este ataque contra KASLR se volvió viable en versión 4.1 porque la generación de ID de IP fue cambiada para tener una dependencia en una dirección asociada con un espacio de nombre de red.

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 4.1 (incluyendo) 4.20.9 (incluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.0 (incluyendo) 5.0.8 (excluyendo)