Vulnerabilidad en kernel de Linux (CVE-2021-47280)
Gravedad CVSS v3.1:
ALTA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
21/05/2024
Última modificación:
24/12/2024
Descripción
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: drm: corrige la lectura de use after free en drm_getunique(). Hay un error de tiempo de verificación a tiempo de uso en drm_getunique() debido a la recuperación de file_priv. ->master antes de bloquear el mutex maestro del dispositivo. Se puede ver un ejemplo en el informe de fallo del error de use after free encontrado por Syzbot: https://syzkaller.appspot.com/bug?id=148d2f1dfac64af52ffd27b661981a540724f803 En el informe, el puntero maestro se utilizó después de ser liberado. Esto se debe a que otro proceso adquirió el mutex maestro del dispositivo en drm_setmaster_ioctl() y luego sobrescribió fpriv->master en drm_new_set_master(). El antiguo valor de fpriv->master se liberó posteriormente antes de que se desbloqueara el mutex. Para solucionar este problema, bloqueamos el mutex maestro del dispositivo antes de recuperar el puntero desde fpriv->master. Este parche pasa la prueba del reproductor Syzbot.
Impacto
Puntuación base 3.x
7.00
Gravedad 3.x
ALTA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.14.237 (excluyendo) | |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.15 (incluyendo) | 4.19.195 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.20 (incluyendo) | 5.4.126 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.5 (incluyendo) | 5.10.44 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (incluyendo) | 5.12.11 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:5.13:rc1:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:5.13:rc2:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:5.13:rc3:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:5.13:rc4:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:5.13: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/17dab9326ff263c62dab1dbac4492e2938a049e4
- https://git.kernel.org/stable/c/491d52e0078860b33b6c14f0a7ac74ca1b603bd6
- https://git.kernel.org/stable/c/7d233ba700ceb593905ea82b42dadb4ec8ef85e9
- https://git.kernel.org/stable/c/b246b4c70c1250e7814f409b243000f9c0bf79a3
- https://git.kernel.org/stable/c/b436acd1cf7fac0ba987abd22955d98025c80c2b
- https://git.kernel.org/stable/c/f773f8cccac13c7e7bbd9182e7996c727742488e
- https://git.kernel.org/stable/c/17dab9326ff263c62dab1dbac4492e2938a049e4
- https://git.kernel.org/stable/c/491d52e0078860b33b6c14f0a7ac74ca1b603bd6
- https://git.kernel.org/stable/c/7d233ba700ceb593905ea82b42dadb4ec8ef85e9
- https://git.kernel.org/stable/c/b246b4c70c1250e7814f409b243000f9c0bf79a3
- https://git.kernel.org/stable/c/b436acd1cf7fac0ba987abd22955d98025c80c2b
- https://git.kernel.org/stable/c/f773f8cccac13c7e7bbd9182e7996c727742488e