Vulnerabilidad en kernel de Linux (CVE-2024-26874)
Gravedad CVSS v3.1:
MEDIA
Tipo:
CWE-476
Desreferencia a puntero nulo (NULL)
Fecha de publicación:
17/04/2024
Última modificación:
03/03/2025
Descripción
En el kernel de Linux, se resolvió la siguiente vulnerabilidad: drm/mediatek: corrige un fallo del puntero nulo en mtk_drm_crtc_finish_page_flip Es posible que mtk_crtc->event sea NULL en mtk_drm_crtc_finish_page_flip(). El valor pendiente_needs_vblank lo establece mtk_crtc->event, pero en mtk_drm_crtc_atomic_flush(), no está protegido por el mismo bloqueo en mtk_drm_finish_page_flip(), por lo que ocurre una condición de carrera. Considere el siguiente caso: CPU1 CPU2 paso 1: mtk_drm_crtc_atomic_begin() mtk_crtc->event is not null, paso 1: mtk_drm_crtc_atomic_flush: mtk_drm_crtc_update_config( !!mtk_crtc->event) paso 2: mtk_crtc_ddp_irq -> mtk_drm_finish _page_flip: bloquear mtk_crtc->evento establecido en nulo, pendiente_needs_vblank configurado en falso desbloqueo pendiente_needs_vblank configurado en verdadero, paso 2: mtk_crtc_ddp_irq -> mtk_drm_finish_page_flip llamado nuevamente, pendiente_needs_vblank sigue siendo verdadero //puntero nulo En lugar de proteger todo el mtk_drm_crtc_atomic_flush(), es más eficiente simplemente verificar si mtk_crtc->even t es nulo antes de su uso.
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:*:*:*:*:*:*:*:* | 4.7 (incluyendo) | 4.19.311 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.20 (incluyendo) | 5.4.273 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.5 (incluyendo) | 5.10.214 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (incluyendo) | 5.15.153 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (incluyendo) | 6.1.83 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (incluyendo) | 6.6.23 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (incluyendo) | 6.7.11 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.8 (incluyendo) | 6.8.2 (excluyendo) |
cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:* |
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/3fc88b246a2fc16014e374040fc15af1d3752535
- https://git.kernel.org/stable/c/4688be96d20ffa49d2186523ee84f475f316fd49
- https://git.kernel.org/stable/c/9acee29a38b4d4b70f1f583e5ef9a245db4db710
- https://git.kernel.org/stable/c/9beec711a17245b853d64488fd5b739031612340
- https://git.kernel.org/stable/c/a3dd12b64ae8373a41a216a0b621df224210860a
- https://git.kernel.org/stable/c/accdac6b71d5a2b84040c3d2234f53a60edc398e
- https://git.kernel.org/stable/c/c958e86e9cc1b48cac004a6e245154dfba8e163b
- https://git.kernel.org/stable/c/d2bd30c710475b2e29288827d2c91f9e6e2b91d7
- https://git.kernel.org/stable/c/dfde84cc6c589f2a9f820f12426d97365670b731
- https://git.kernel.org/stable/c/3fc88b246a2fc16014e374040fc15af1d3752535
- https://git.kernel.org/stable/c/4688be96d20ffa49d2186523ee84f475f316fd49
- https://git.kernel.org/stable/c/9acee29a38b4d4b70f1f583e5ef9a245db4db710
- https://git.kernel.org/stable/c/9beec711a17245b853d64488fd5b739031612340
- https://git.kernel.org/stable/c/a3dd12b64ae8373a41a216a0b621df224210860a
- https://git.kernel.org/stable/c/accdac6b71d5a2b84040c3d2234f53a60edc398e
- https://git.kernel.org/stable/c/c958e86e9cc1b48cac004a6e245154dfba8e163b
- https://git.kernel.org/stable/c/d2bd30c710475b2e29288827d2c91f9e6e2b91d7
- https://git.kernel.org/stable/c/dfde84cc6c589f2a9f820f12426d97365670b731
- https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html
- https://lists.debian.org/debian-lts-announce/2024/06/msg00020.html