Vulnerabilidad en kernel de Linux (CVE-2024-46679)
Severidad:
Pendiente de análisis
Type:
No Disponible / Otro tipo
Fecha de publicación:
13/09/2024
Última modificación:
13/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.
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