CVE-2026-80662 in Linuxinformación

Resumen

por VulDB • 2026-08-28

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:

cxl: Corregir CXL_HEADERLOG_SIZE para que coincida con el tamaño de la Capacidad RAS

La Estructura de Capacidad RAS según la especificación CXL r4.0 8.2.4.17.7 tiene una longitud total de 0x58 bytes (CXL_RAS_CAPABILITY_LENGTH); el Registro del Encabezado ocupa los últimos 64 bytes en el desplazamiento 0x18. CXL_HEADERLOG_SIZE estaba definido como SZ_512, ocho veces el tamaño real en el dispositivo.

header_log_copy() lee CXL_HEADERLOG_SIZE_U32 (128) dwords desde la iomap de la capacidad RAS, desbordando el mapeo de 88 bytes por 448 bytes. El evento trace cxl_aer_uncorrectable_error realiza un memcpy() de CXL_HEADERLOG_SIZE (512) bytes desde su origen. Para el llamador CPER, el origen es struct cxl_ras_capability_regs::header_log[16] (64 bytes), incrustado en una estructura stack-local cxl_cper_prot_err_work_data; por lo tanto, el memcpy lee 448 bytes de la pila del kernel hacia el buffer circular del evento trace donde los usuarios pueden leerlo a través de tracefs.

Se establece CXL_HEADERLOG_SIZE en 64 y se deriva CXL_HEADERLOG_SIZE_U32 a partir de él, alineando todos los lectores iomap con 16 dwords. Las herramientas de espacio de usuario como rasdaemon han desarrollado una dependencia del diseño defectuoso de header_log de 512 bytes (128 u32) en el evento trace cxl_aer_uncorrectable_error. Se añade CXL_HEADERLOG_TRACE_SIZE_U32 = 128 y se utiliza para la __array del evento trace y su memcpy para preservar esa ABI. Ambos llamadores ahora pasan un buffer de staging u32[CXL_HEADERLOG_TRACE_SIZE_U32] rellenado con ceros, donde solo las primeras entradas CXL_HEADERLOG_SIZE_U32 (16) están pobladas desde el hardware; los 112 u32 restantes se rellenan con ceros, manteniendo intacto el diseño del buffer circular de trace de 512 bytes.

[ dj: Reemplazado 64 por SZ_64 según RichardC ]

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Responsable

Linux

Reservar

2026-08-26

Divulgación

2026-08-28

Moderación

aceptado

Artículo

VDB-396606

CPE

listo

EPSS

0.00166

KEV

no

Actividades

muy bajo

Fuentes

Do you want to use VulDB in your project?

Use the official API to access entries easily!