CVE-2026-89809
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
W jądrze Linuksa usunięto następującą lukę:
drm/amdkfd: napraw zakres dereferencji mqd_mgr w pqm_debugfs_mqds
Odczyt /sys/kernel/debug/kfd/mqds, gdy proces przechowuje aktywny KFD
kolejka wyzwala dereferencję wskaźnika NULL, ponieważ pętla for that
wywołania mqd_mgr->debugfs_show_mqd() są niepoprawnie umieszczone poza
if (pqn->q) blok inicjujący mqd_mgr.
Lista kolejek może zawierać wpisy, gdzie pqn->q ma wartość NULL (kolejki jądra
gdzie obowiązuje tylko pqn->kq). W oryginalnym kodzie:
jeśli (pqn->q) {
...
mqd_mgr = q->urządzenie->dqm->mqd_mgrs[typ_mqd];
rozmiar = mqd_mgr->mqd_stride(...);
}
for (xcc = 0; xcc < num_xccs; xcc++) { // ŹLE: na zewnątrz bloku if
mqd = q->mqd + rozmiar * xcc;
r = mqd_mgr->debugfs_show_mqd(m, mqd);
}
Podczas iteracji po węźle kolejki, gdzie pqn->q ma wartość NULL:
1. Blok if (pqn->q) jest pomijany
2. mqd_mgr pozostaje niezainicjowany (NULL z deklaracji)
3. Pętla for i tak jest wykonywana
4. mqd_mgr->debugfs_show_mqd(m, mqd) dereferencje NULL
Katastrofa objawia się następująco:
BŁĄD: wyłuskiwanie wskaźnika NULL jądra, adres: 0000000000000000
#PF: pobieranie instrukcji nadzorcy w trybie jądra
ODP: 0010:0x0
Zadzwoń do śledzenia:
pqm_debugfs_mqds+0x10c/0x1d0 [amdgpu]
kfd_debugfs_mqds_by_process+0x9b/0x110 [amdgpu]
seq_read_iter+0x132/0x4b0
...
Napraw, przesuwając pętlę for do bloku if (pqn->q), więc mqd_mgr
i powiązane zmienne są używane tylko po prawidłowej inicjalizacji.
(wiśnia wybrana z zatwierdzenia 8bfe29d5c798940f797aa24135d2734c3ffce9de)
>_ Referencje
Dane podatności pochodzą z oficjalnych źródeł (CVE® List / NVD). Opisy po polsku są tłumaczone automatycznie i mogą zawierać nieścisłości – na stronie rekordu można wyświetlić wersję angielską.
This product uses the NVD API but is not endorsed or certified by the NVD.
Copyright © 1999–2026, The MITRE Corporation. CVE is a registered trademark and the CVE logo is a registered trademark of The MITRE Corporation.
CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE®). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy. ALL DOCUMENTS AND THE INFORMATION CONTAINED THEREIN PROVIDED BY MITRE ARE PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND.
NVD Terms of Use / CVE® Terms of Use / nvd.nist.gov / cve.org