Vulnerabilidad en kernel de Linux (CVE-2024-46679)
Gravedad CVSS v3.1:
MEDIA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
13/09/2024
Última modificación:
23/09/2024
Descripción
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: ethtool: comprobar la presencia del dispositivo al obtener la configuración del enlace Un lector sysfs puede competir con un reinicio o eliminación del dispositivo, intentando leer el estado del dispositivo cuando este no está realmente presente. p. ej.: [excepción RIP: qed_get_current_link+17] #8 [ffffb9e4f2907c48] qede_get_link_ksettings en ffffffffc07a994a [qede] #9 [ffffb9e4f2907cd8] __rh_call_get_link_ksettings en ffffffff992b01a3 #10 [ffffb9e4f2907d38] __ethtool_get_link_ksettings en ffffffff992b04e4 #11 [ffffb9e4f2907d90] duplex_show en ffffffff99260300 #12 [ffffb9e4f2907e38] dev_attr_show en ffffffff9905a01c #13 [ffffb9e4f2907e50] sysfs_kf_seq_show en ffffffff98e0145b #14 [ffffb9e4f2907e68] seq_read en ffffffff98d902e3 #15 [ffffb9e4f2907ec8] vfs_read en ffffffff98d657d1 #16 [ffffb9e4f2907f00] ksys_read en ffffffff98d65c3f #17 [ffffb9e4f2907f38] do_syscall_64 en ffffffff98a052fb bloqueo> estructura net_device.state ffff9a9d21336000 estado = 5, el estado 5 es __LINK_STATE_START (0b1) y __LINK_STATE_NOCARRIER (0b100). El dispositivo no está presente, note la falta de __LINK_STATE_PRESENT (0b10). Este es el mismo tipo de pánico que se observa en el commit 4224cfd7fb65 ("net-sysfs: agregar verificación de presencia de netdevice a speed_show"). Hay muchos otros invocadores de __ethtool_get_link_ksettings() que no tienen una verificación de presencia de dispositivo. Mueva esta verificación a ethtool para proteger a todos los invocadores.
Impacto
Puntuación base 3.x
4.70
Gravedad 3.x
MEDIA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 2.6.33 (incluyendo) | 5.4.283 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.5 (incluyendo) | 5.10.225 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (incluyendo) | 5.15.166 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (incluyendo) | 6.1.108 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (incluyendo) | 6.6.49 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (incluyendo) | 6.10.8 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:6.11:rc1:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.11:rc2:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.11:rc3:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.11:rc4:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.11:rc5:*:*:*:*:*:* |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página
Referencias a soluciones, herramientas e información
- https://git.kernel.org/stable/c/1d6d9b5b1b95bfeccb84386a51b7e6c510ec13b2
- https://git.kernel.org/stable/c/7a8d98b6d6484d3ad358510366022da080c37cbc
- https://git.kernel.org/stable/c/842a40c7273ba1c1cb30dda50405b328de1d860e
- https://git.kernel.org/stable/c/94ab317024ba373d37340893d1c0358638935fbb
- https://git.kernel.org/stable/c/9bba5955eed160102114d4cc00c3d399be9bdae4
- https://git.kernel.org/stable/c/a699781c79ecf6cfe67fb00a0331b4088c7c8466
- https://git.kernel.org/stable/c/ec7b4f7f644018ac293cb1b02528a40a32917e62