Vulnerabilidad en kernel de Linux (CVE-2024-26718)
Gravedad CVSS v3.1:
MEDIA
Tipo:
CWE-787
Escritura fuera de límites
Fecha de publicación:
03/04/2024
Última modificación:
17/03/2025
Descripción
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: dm-crypt, dm-verity: deshabilitar tasklets Los tasklets tienen un problema inherente con la corrupción de la memoria. La función tasklet_action_common llama a tasklet_trylock, luego llama a la devolución de llamada del tasklet y luego llama a tasklet_unlock. Si la devolución de llamada del tasklet libera la estructura que contiene el tasklet o si llama a algún código que pueda liberarlo, tasklet_unlock escribirá en la memoria libre. Las confirmaciones 8e14f610159d y d9a02e016aaf intentan solucionarlo para dm-crypt, pero no es una solución suficiente y la corrupción de datos aún puede ocurrir [1]. No hay ninguna solución para dm-verity y dm-verity escribirá en la memoria libre con cada biografía procesada por tasklet. Habrá colas de trabajo atómicas implementadas en el kernel 6.9 [2]. Tendrán una mejor interfaz y no sufrirán el problema de corrupción de memoria. Pero necesitamos algo que detenga la corrupción de la memoria ahora y que pueda ser compatible con los núcleos estables. Entonces, propongo esta confirmación que deshabilita los tasklets tanto en dm-crypt como en dm-verity. Esta confirmación no elimina la compatibilidad con el tasklet, porque el código del tasklet se reutilizará cuando se implementen las colas de trabajo atómicas. [1] https://lore.kernel.org/all/d390d7ee-f142-44d3-822a-87949e14608b@suse.de/T/ [2] https://lore.kernel.org/lkml/20240130091300.2968534-1- tj@kernel.org/
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:*:*:*:*:*:*:*:* | 5.9 (incluyendo) | 6.1.79 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (incluyendo) | 6.6.18 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (incluyendo) | 6.7.6 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:6.8:rc1:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.8:rc2:*:*:*:*:*:* |
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/0a9bab391e336489169b95cb0d4553d921302189
- https://git.kernel.org/stable/c/0c45a20cbe68bc4d681734f5c03891124a274257
- https://git.kernel.org/stable/c/30884a44e0cedc3dfda8c22432f3ba4078ec2d94
- https://git.kernel.org/stable/c/5735a2671ffb70ea29ca83969fe01316ee2ed6fc
- https://git.kernel.org/stable/c/b825e0f9d68c178072bffd32dd34c39e3d2d597a
- https://git.kernel.org/stable/c/0a9bab391e336489169b95cb0d4553d921302189
- https://git.kernel.org/stable/c/0c45a20cbe68bc4d681734f5c03891124a274257
- https://git.kernel.org/stable/c/30884a44e0cedc3dfda8c22432f3ba4078ec2d94
- https://git.kernel.org/stable/c/5735a2671ffb70ea29ca83969fe01316ee2ed6fc