CVE-2026-68436
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: drm/amd/display: struct dc ayırmaq üçün kvzalloc istifadə edin struct dc zamanla böyüyüb (onun əksəriyyəti iki daxili dc_scratch_space surətidir) və hazırda səhifə ayırıcısının (page allocator) 4 MiB-lik ardıcıl ayırma limitinə yaxınlaşıb. Onun faktiki ölçüsü yalnız mənbə kodu ilə təyin edilmir, həmçinin kompilyatordan və .config faylından asılıdır, buna görə də yeni GCC versiyası və ya konfiqurasiya dəyişikliyi ilə asanlıqla 4 MiB həddini aşdıra bilər. dc_create() funksiyası onu kzalloc() ilə ayırır. struct dc 4 MiB-i keçdikdə sorğu order 11-ə (8 MiB) yuvarlaqlanır ki, bu da MAX_PAGE_ORDER limitindən yuxarıdır, buna görə də səhifə ayırıcısı xəbərdarlıq verir və NULL qaytarır. Nəticədə dc_create() uğursuz olur, DM init prosesi dayanır və amdgpu probe -EINVAL xətası ilə ləğv edilir: WARNING: mm/page_alloc.c:5197 at __alloc_frozen_pages_noprof+0x2f9/0x380 dc_create+0x38/0x660 [amdgpu] amdgpu_dm_init+0x2d9/0x510 [amdgpu] dm_hw_init+0x1b/0x90 [amdgpu] amdgpu_device_init.cold+0x150d/0x1e13 [amdgpu] amdgpu_driver_load_kms+0x19/0x80 [amdgpu] amdgpu_pci_probe+0x1e2/0x4c0 [amdgpu] Sonra dc_create() NULL qaytarır və DM init uğursuz olur, bu isə bütün GPU init prosesini ləğv edir və amdgpu probe-un -EINVAL ("hw_init of IP block <dm> failed -22") xətası ilə bitməsinə səbəb olaraq ekranı istifadəsiz hala gətirir. Sökülmə zamanı baş verən növbəti amdgpu_irq_put() xəbərdarlıqları sadəcə yarımçıq başladılmış cihazın geri qaytarılmasının nəticəsidir. struct dc proqram təminatı tərəfindən idarə olunan uçot strukturudur, heç vaxt aparat təminatı DMA-na ötürülmür və yalnız şəffaf göstərici (opaque pointer) kimi saxlanılır, buna görə də fiziki cəhətdən ardıcıl yaddaşa ehtiyacı yoxdur. Onu kvzalloc() ilə ayırın (və kvfree() ilə azad edin), beləliklə, həmin ölçüdə ardıcıl ayırma mümkün olmadıqda ayırıcı vmalloc()-a keçid edə bilsin, bu həmçinin MAX_PAGE_ORDER xəbərdarlığının qarşısını tamamilə alır. v2: - amd-staging-drm-next filialına rebase edildi. (commit 991e0516a8072f2292681c6ae98a924ab0e32575-dən cherry pick edildi)
Necə düzəltmək olar
- Linux Linuxdd8506091e9f1e111d9964f5ec2348d7d5157bf2, c59a693fbd213f8f27942509b48b1a4111fdd40d, dbad70d40cad9c5e7586953275287fe7531fb811, 75050390151a14802be433c3856ddcb483cecd24 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| Linux Linux | d62d5551dd615f9e488b13595d69b308cd019e16 ≤ v < dd8506091e9f1e111d9964f5ec2348d7d5157bf2, d62d5551dd615f9e488b13595d69b308cd019e16 ≤ v < c59a693fbd213f8f27942509b48b1a4111fdd40d, d62d5551dd615f9e488b13595d69b308cd019e16 ≤ v < dbad70d40cad9c5e7586953275287fe7531fb811, d62d5551dd615f9e488b13595d69b308cd019e16 ≤ v < 75050390151a14802be433c3856ddcb483cecd24, 6.10 | dd8506091e9f1e111d9964f5ec2348d7d5157bf2, c59a693fbd213f8f27942509b48b1a4111fdd40d, dbad70d40cad9c5e7586953275287fe7531fb811, 75050390151a14802be433c3856ddcb483cecd24 |
Versiyanızı yoxlayın
Məhsulu seçin və istifadə etdiyiniz versiyanı yazın; versiyanın təsirlənən aralıqda olub-olmadığını görün.
Attack Surface Management
Domenlərinizə bağlı aktivləri, onlarda işləyən texnologiyaları və məlum zəiflikləri bir siyahıda görün.