Vulnerabilidad en kernel de Linux (CVE-2022-49446)
Gravedad CVSS v3.1:
MEDIA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
26/02/2025
Última modificación:
17/03/2025
Descripción
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: nvdimm: Se corrigen los escenarios de bloqueo de activación de firmware Lockdep informa los siguientes escenarios de bloqueo para la administración de energía del dispositivo raíz CXL, device_prepare(), operaciones y operaciones device_shutdown() para dispositivos 'nd_region': Existe una cadena de: &nvdimm_region_key --> &nvdimm_bus->reconfig_mutex --> system_transition_mutex Possible unsafe locking scenario: CPU0 CPU1 ---- ---- lock(system_transition_mutex); lock(&nvdimm_bus->reconfig_mutex); lock(system_transition_mutex); lock(&nvdimm_region_key); Chain exists of: &cxl_nvdimm_bridge_key --> acpi_scan_lock --> &cxl_root_key Possible unsafe locking scenario: CPU0 CPU1 ---- ---- lock(&cxl_root_key); lock(acpi_scan_lock); lock(&cxl_root_key); lock(&cxl_nvdimm_bridge_key); Estos se derivan de mantener nvdimm_bus_lock() sobre hibernate_quiet_exec() que recorre toda la topología del dispositivo del sistema tomando device_lock() en el camino. nvdimm_bus_lock() protege contra la anulación del registro, múltiples invocadores de operaciones simultáneas y evita que activate_show() compita con activate_store(). Para los primeros 2, el bloqueo es redundante. La anulación del registro ya borra todos los usuarios de operaciones, y sysfs ya evita que varios subprocesos estén activos en un controlador de operaciones al mismo tiempo. Para el último espacio de usuario ya debería estar esperando a que se complete su último activate_store(), y no necesita activate_show() para borrar el lado de escritura, por lo que este uso de bloqueo se puede eliminar en estos atributos.
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) | 5.10.121 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (incluyendo) | 5.15.46 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (incluyendo) | 5.17.14 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.18 (incluyendo) | 5.18.3 (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/2f97ebc58d5fc83ca1528cd553fa725472ab3ca8
- https://git.kernel.org/stable/c/2fd853fdb40afc052de338693df1372f2ead7be7
- https://git.kernel.org/stable/c/641649f31e20df630310f5c22f26c071acc676d4
- https://git.kernel.org/stable/c/ceb924ee16b2c8e48dcac3d9ad6be01c40b5a228
- https://git.kernel.org/stable/c/e6829d1bd3c4b58296ee9e412f7ed4d6cb390192