Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en kernel de Linux (CVE-2023-52792)

Gravedad CVSS v3.1:
MEDIA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
21/05/2024
Última modificación:
23/09/2025

Descripción

En el kernel de Linux, se resolvió la siguiente vulnerabilidad: cxl/region: no intente realizar la limpieza después de que cxl_region_setup_targets() falle. Confirme 5e42bcbc3fef ("cxl/region: decrement ->nr_targets on error in cxl_region_attach()") intentó evitar ' Los mismos errores de inicialización cuando ->nr_targets excedieron 16, simplemente disminuyendo ->nr_targets cuando cxl_region_setup_targets() falló. La confirmación 86987c766276 ("cxl/region: Limpiar lista de objetivos al adjuntar error") extendió esa limpieza para borrar también cxled->pos y p->targets[pos]. El error de inicialización se solucionó por separado mediante: Commit 8d4285425714 ("cxl/region: Reparar advertencias de variables no inicializadas de configuración de puerto") que se fusionó unos días después de 5e42bcbc3fef. Pero ahora la limpieza original cuando falla cxl_region_setup_targets() impide que se reutilicen los recursos del decodificador de conmutador y punto final: 1) la limpieza no establece la región del decodificador en NULL, lo que da como resultado que futuras llamadas a dpa_size_store() devuelvan -EBUSY 2) el decodificador no liberado correctamente, lo que resulta en futuros errores de confirmación asociados con el conmutador ascendente. Ahora que los errores de inicialización se solucionaron por separado, la limpieza adecuada para este caso es simplemente regresar inmediatamente. Luego, los recursos asociados con este objetivo se limpian normalmente cuando se elimina la región fallida. La disminución de ->nr_targets en el caso de error también ayudó a evitar un desbordamiento de la matriz p->targets[], así que agregue una nueva verificación para evitar ese desbordamiento. Probado intentando crear una región no válida para una topología de 2 conmutadores * 2 puntos finales y luego creando una región válida.

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.0 (incluyendo) 6.1.64 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.2 (incluyendo) 6.5.13 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.6 (incluyendo) 6.6.3 (excluyendo)