CVE-2026-80787
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: nvmet: pci-epf: nvmet_pci_epf_exec_iod_work() funksiyasında istifadədən sonra azad etmə (use-after-free) problemi düzəldilib nvmet_pci_epf_exec_iod_work() funksiyası req->execute() vasitəsilə I/O əmrini göndərir, sonra əmrin tamamlanmasını gözləyir və məlumatları host-a geri ötürür. Cihazdan host-a məlumat ötürməyən əmrlər üçün bu gözləmə tələb olunmur. Bu gözləmənin lazım olub-olmadığını müəyyən etmək üçün funksiya req->execute() çağırışından sonra iod->data_len və iod->dma_dir sahələrini oxuyur. Lakin req->execute() çağırıldıqdan sonra əmr başqa CPU-da asinxron şəkildə tamamlana bilər. Cihazdan host-a məlumat ötürülməsini tələb etməyən əmrlər üçün nvmet_pci_epf_queue_response() birbaşa nvmet_pci_epf_complete_iod() funksiyasını çağırır və bu, iod->data_len və iod->dma_dir oxunmazdan əvvəl iod obyektini azad edə bilər, nəticədə KFENCE istifadədən sonra azad etmə xətası yaranır: BUG: KFENCE: use-after-free read in nvmet_pci_epf_exec_iod_work+0x288/0x798 [nvmet_pci_epf] Use-after-free read at 0x00000000fdfa6d03 (in kfence-#63): nvmet_pci_epf_exec_iod_work+0x288/0x798 [nvmet_pci_epf] process_one_work+0x15c/0x4f0 worker_thread+0x18c/0x30c kthread+0x130/0x140 ret_from_fork+0x10/0x20 kfence-#63: 0x00000000e3de0e71-0x00000000c938ad62, size=712, cache=kmalloc-1k allocated by task 10 on cpu 0 at 73.995480s (0.005122s ago): mempool_kmalloc+0x1c/0x28 mempool_alloc_noprof+0x40/0x9c nvmet_pci_epf_poll_sqs_work+0xd4/0x344 [nvmet_pci_epf] process_one_work+0x15c/0x4f0 worker_thread+0x18c/0x30c kthread+0x130/0x140 ret_from_fork+0x10/0x20 freed by task 131 on cpu 3 at 73.995521s (0.008385s ago): mempool_kfree+0x10/0x20 mempool_free+0x44/0x64 nvmet_pci_epf_free_iod+0x88/0x98 [nvmet_pci_epf] nvmet_pci_epf_cq_work+0xfc/0x280 [nvmet_pci_epf] process_one_work+0x15c/0x4f0 worker_thread+0x18c/0x30c kthread+0x130/0x140 ret_from_fork+0x10/0x20 Bu problem req->execute() çağırışından əvvəl iod->data_len və iod->dma_dir sahələrinə müraciət etməklə düzəldilir. iod->status kimi qalan iod müraciətlərinə yalnız cihazdan host-a oxuma yolunda çatılır. Bu halda nvmet_pci_epf_queue_response() iod obyektini azad etmək əvəzinə iod->done siqnalını verir, beləliklə iod etibarlı qalır.
Necə düzəltmək olar
- Linux Linux20be486d1c225402b067391e72ff5b0dd8ebff76, 1ed1eeaef55cebf2d74b3ef104c20bdab719b165, cede8d2852570c79b9bbb9527255ae9ed3317b82, c9e9bb757971485b4e8414b1744507af186d72c9 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| Linux Linux | 0faa0fe6f90ea59b10d1b0f15ce0eb0c18eff186 ≤ v < 20be486d1c225402b067391e72ff5b0dd8ebff76, 0faa0fe6f90ea59b10d1b0f15ce0eb0c18eff186 ≤ v < 1ed1eeaef55cebf2d74b3ef104c20bdab719b165, 0faa0fe6f90ea59b10d1b0f15ce0eb0c18eff186 ≤ v < cede8d2852570c79b9bbb9527255ae9ed3317b82, 0faa0fe6f90ea59b10d1b0f15ce0eb0c18eff186 ≤ v < c9e9bb757971485b4e8414b1744507af186d72c9, 6.14 | 20be486d1c225402b067391e72ff5b0dd8ebff76, 1ed1eeaef55cebf2d74b3ef104c20bdab719b165, cede8d2852570c79b9bbb9527255ae9ed3317b82, c9e9bb757971485b4e8414b1744507af186d72c9 |
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.