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.
Impacto
Puntuación base 3.x
7.50
Gravedad 3.x
ALTA
Puntuación base 2.0
5.00
Gravedad 2.0
MEDIA
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) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página
Referencias a soluciones, herramientas e información
- http://lists.opensuse.org/opensuse-security-announce/2019-07/msg00014.html
- http://lists.opensuse.org/opensuse-security-announce/2019-07/msg00025.html
- https://arxiv.org/pdf/1906.10478.pdf
- https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.0.8
- https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=355b98553789b646ed97ad801a619ff898471b92
- https://github.com/torvalds/linux/commit/355b98553789b646ed97ad801a619ff898471b92
- https://lists.debian.org/debian-lts-announce/2019/07/msg00022.html
- https://lists.debian.org/debian-lts-announce/2019/08/msg00017.html
- https://seclists.org/bugtraq/2019/Aug/18
- https://security.netapp.com/advisory/ntap-20190806-0001/
- https://support.f5.com/csp/article/K32804955
- https://support.f5.com/csp/article/K32804955?utm_source=f5support&%3Butm_medium=RSS
- https://usn.ubuntu.com/4115-1/
- https://usn.ubuntu.com/4118-1/
- https://www.debian.org/security/2019/dsa-4497
- https://www.oracle.com/security-alerts/cpuApr2021.html