CVE-2026-89809 in Linux
Resumen
por VulDB • 2026-09-17
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
drm/amdkfd: corregir el alcance del desreferenciamiento de mqd_mgr en pqm_debugfs_mqds
La lectura de /sys/kernel/debug/kfd/mqds mientras un proceso mantiene una cola KFD activa desencadena un desreferenciamiento de puntero NULL porque el bucle for que llama a mqd_mgr->debugfs_show_mqd() está colocado incorrectamente fuera del bloque if (pqn->q) que inicializa mqd_mgr.
La lista de colas puede contener entradas donde pqn->q es NULL (colas del kernel donde solo pqn->kq es válido). En el código original:
if (pqn->q) {
... mqd_mgr = q->device->dqm->mqd_mgrs[mqd_type];
size = mqd_mgr->mqd_stride(...); }
for (xcc = 0; xcc < num_xccs; xcc++) { // INCORRECTO: fuera del bloque if
mqd = q->mqd + size * xcc; r = mqd_mgr->debugfs_show_mqd(m, mqd); }
Al iterar sobre un nodo de cola donde pqn->q es NULL: 1. Se omite el bloque if (pqn->q) 2. mqd_mgr permanece sin inicializar (NULL por la declaración) 3. El bucle for se ejecuta de todos modos 4. mqd_mgr->debugfs_show_mqd(m, mqd) desreferencia NULL
El fallo se manifiesta como:
BUG: kernel NULL pointer dereference, address: 0000000000000000 #PF: supervisor instruction fetch in kernel mode RIP: 0010:0x0 Call Trace: pqm_debugfs_mqds+0x10c/0x1d0 [amdgpu]
kfd_debugfs_mqds_by_process+0x9b/0x110 [amdgpu]
seq_read_iter+0x132/0x4b0 ...
Corrección: mover el bucle for dentro del bloque if (pqn->q), de modo que mqd_mgr y las variables relacionadas se utilicen solo cuando estén correctamente inicializadas.
(cherry picked from commit 8bfe29d5c798940f797aa24135d2734c3ffce9de)
If you want to get best quality of vulnerability data, you may have to visit VulDB.