Vulnerabilidad en kernel de Linux (CVE-2024-46689)
Gravedad CVSS v3.1:
MEDIA
Tipo:
CWE-787
Escritura fuera de límites
Fecha de publicación:
13/09/2024
Última modificación:
20/09/2024
Descripción
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: soc: qcom: cmd-db: Asignar memoria compartida como WC, no como WB Linux no escribe en la región cmd-db. Esta región de memoria está protegida contra escritura por XPU. En ocasiones, XPU puede detectar erróneamente la expulsión de caché limpia como "escritura" en la región protegida contra escritura, lo que genera una interrupción segura que provoca un bucle sin fin en algún lugar de la Zona de confianza. La única razón por la que funciona en este momento es porque Qualcomm Hypervisor asigna la misma región que la memoria no almacenable en caché en las tablas de traducción de la Etapa 2. El problema se manifiesta si queremos usar otro hipervisor (como Xen o KVM), que no sabe nada sobre esas asignaciones específicas. Cambiar la asignación de memoria cmd-db de MEMREMAP_WB a MEMREMAP_WT/WC elimina la dependencia de las asignaciones correctas en las tablas de la Etapa 2. Este parche corrige el problema actualizando la asignación a MEMREMAP_WC. Probé esto en SA8155P con Xen.
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:*:*:*:*:*:*:*:* | 4.18 (incluyendo) | 5.4.283 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.5 (incluyendo) | 5.10.225 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (incluyendo) | 5.15.166 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (incluyendo) | 6.1.108 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (incluyendo) | 6.6.49 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (incluyendo) | 6.10.8 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:6.11:rc1:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.11:rc2:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.11:rc3:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.11:rc4:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.11: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/0ee9594c974368a17e85a431e9fe1c14fb65c278
- https://git.kernel.org/stable/c/62c2d63605ca25b5db78a347ed303c0a0a77d5b4
- https://git.kernel.org/stable/c/d9d48d70e922b272875cda60d2ada89291c840cf
- https://git.kernel.org/stable/c/eaff392c1e34fb77cc61505a31b0191e5e46e271
- https://git.kernel.org/stable/c/ef80520be0ff78ae5ed44cb6eee1525e65bebe70
- https://git.kernel.org/stable/c/f5a5a5a0e95f36e2792d48e6e4b64e665eb01374
- https://git.kernel.org/stable/c/f9bb896eab221618927ae6a2f1d566567999839d