Vulnerabilidad en kernel de Linux (CVE-2024-35982)
Gravedad CVSS v3.1:
MEDIA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
20/05/2024
Última modificación:
05/11/2024
Descripción
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: batman-adv: Evite el bucle infinito al intentar cambiar el tamaño del TT local. Si la MTU de una de las interfaces conectadas se vuelve demasiado pequeña para transmitir la tabla de traducción local, entonces se debe cambiar su tamaño para que quepa dentro. todos los fragmentos (cuando está habilitado) o un solo paquete. Pero si la MTU es demasiado baja para transmitir incluso el encabezado + la parte específica de la VLAN, entonces el cambio de tamaño del TT local nunca tendrá éxito. Esto puede suceder, por ejemplo, cuando el espacio utilizable es de 110 bytes y hay 11 VLAN encima de batman-adv. En este caso, se necesitarían al menos 116 bytes. Simplemente habrá un spam interminable de batman_adv: batadv0: Obligado a purgar las entradas tt locales para ajustar el nuevo fragmento máximo MTU (110) en el registro, pero la función nunca finalizará. El problema aquí es que el tiempo de espera se reducirá a la mitad todo el tiempo y luego se estancará en 0 y, por lo tanto, nunca podrá reducir la tabla aún más. Hay otros escenarios posibles con un resultado similar. El número de entradas BATADV_TT_CLIENT_NOPURGE en el TT local puede, por ejemplo, ser demasiado alto para caber dentro de un paquete. Por lo tanto, este escenario puede ocurrir también con una sola VLAN + 7 direcciones no purgables, lo que requiere al menos 120 bytes. Si bien esto debe manejarse de manera proactiva cuando: * se agrega una interfaz con una MTU demasiado baja * se agrega una VLAN * se agrega una mac local no purgable * se reduce la MTU de una interfaz conectada * la configuración de fragmentación se desactiva (lo que probablemente requiera eliminar las interfaces conectadas) No todos estos escenarios se pueden prevenir porque batman-adv solo consume eventos sin la posibilidad de evitar estas acciones (se agrega una dirección MAC no purgable, se reduce la MTU de una interfaz adjunta). Por lo tanto, también es necesario asegurarse de que el código sea capaz de manejar también las situaciones en las que ya había una configuración del sistema incompatible.
Impacto
Puntuación base 3.x
5.50
Gravedad 3.x
MEDIA
Productos y versiones vulnerables
| CPE | Desde | Hasta |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 3.13 (incluyendo) | 4.19.313 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.20 (incluyendo) | 5.4.275 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.5 (incluyendo) | 5.10.216 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (incluyendo) | 5.15.156 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (incluyendo) | 6.1.87 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (incluyendo) | 6.6.28 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (incluyendo) | 6.8.7 (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
- https://git.kernel.org/stable/c/04720ea2e6c64459a90ca28570ea78335eccd924
- https://git.kernel.org/stable/c/3fe79b2c83461edbbf86ed8a6f3924820ff89259
- https://git.kernel.org/stable/c/4ca2a5fb54ea2cc43edea614207fcede562d91c2
- https://git.kernel.org/stable/c/70a8be9dc2fb65d67f8c1e0c88c587e08e2e575d
- https://git.kernel.org/stable/c/87b6af1a7683e021710c08fc0551fc078346032f
- https://git.kernel.org/stable/c/b1f532a3b1e6d2e5559c7ace49322922637a28aa
- https://git.kernel.org/stable/c/b3ddf6904073990492454b1dd1c10a24be8c74c6
- https://git.kernel.org/stable/c/ca54e2671548616ad34885f90d4f26f7adb088f0



