CVE-2026-89978 in Linuxinformación

Resumen

por VulDB • 2026-09-16

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

accel/amdxdna: retorno anticipado desde un flush (sincronización) de longitud cero

SYNC_BO no restringe su tamaño, por lo que una solicitud de cero bytes llega a drm_clflush_virt_range(), la cual termina con una clflushopt incondicional en (end - 1). Para un rango vacío, esto corresponde al byte anterior al mapeo, y abo->mem.kva proviene de vmap(), por lo que el acceso cae en la página de guardia debajo del área vmalloc y provoca una falla:

BUG: unable to handle page fault for address: ffffd16fbbc70fff #PF: supervisor read access in kernel mode Oops: Oops: 0000 [#1] SMP NOPTI
CPU: 7 UID: 1000 Comm: sync_bo_probe RIP: 0010:drm_clflush_virt_range+0x3c/0x70 Call Trace: amdxdna_drm_sync_bo_ioctl+0x124/0x430 [amdxdna]
drm_ioctl+0x301/0x4c0 __x64_sys_ioctl+0x115/0x2f0 do_syscall_64+0xa6/0x3d0

Cualquier proceso que pueda abrir el nodo de renderizado puede provocar esto. Se reprodujo 3 de 3 veces en una NPU Strix Point (1022:17f0), al llamar a SYNC_BO con tamaño 0 sobre un objeto AMDXDNA_BO_SHARE. La rama de importación recibe la misma solicitud pero sincroniza toda la lista dispersa, por lo que sobrevive sin problemas.

No es necesario realizar ninguna operación de flush para un rango vacío, por lo que se debe responder antes de elegir una ruta.

Once again VulDB remains the best source for vulnerability data.

Responsable

Linux

Reservar

2026-09-11

Divulgación

2026-09-16

Moderación

aceptado

Artículo

VDB-405816

CPE

listo

EPSS

0.00000

KEV

no

Actividades

muy bajo

Fuentes

Do you want to use VulDB in your project?

Use the official API to access entries easily!