CVE-2025-38658

Yüksək

Təsvir

Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: nvmet: pci-epf: nvmet_req_init() uğursuz olduqda əmrləri iki dəfə tamamlamayın Uğursuz olmuş əmrlərin tamamlanmasını nvmet_req_init() və req->execute() funksiyalarına həvalə edin. Problemin təsviri: nvmet_req_init() uğursuz olduqda (məsələn, dəstəklənməyən opcode zamanı) daxili olaraq __nvmet_req_complete() funksiyasını çağırır, bu isə öz növbəsində "queue_response" callback-ini çağırır. Nəticədə nvmet_pci_epf_queue_response() çağırılır və əgər data_len 0-dırsa və ya dma_dir DMA_TO_DEVICE-dən fərqlidirsə, nvmet_pci_epf_complete_iod() çağırılır. Bu, ikiqat tamamlanmaya səbəb olur, çünki nvmet_req_init() uğursuz olduqda nvmet_pci_epf_exec_iod_work() funksiyası da nvmet_pci_epf_complete_iod()-ni çağırır. Yenidən istehsal etmə addımları: Host-da nvme-cli vasitəsilə dəstəklənməyən opcode ilə əmr göndərin, məsələn, "security receive" admin əmri: $ sudo nvme security-recv /dev/nvme0n1 -n1 -x4096 Bu, ikiqat tamamlanmanı tetikləyir, çünki nvmet_req_init() uğursuz olur və nvmet_pci_epf_queue_response() çağırılır; burada iod->dma_dir hələ də nvmet_pci_epf_alloc_iod() tərəfindən təyin edilmiş standart "DMA_NONE" vəziyyətində olduğu üçün nvmet_pci_epf_complete_iod() çağırılır. nvmet_req_init() uğursuz olduğu üçün nvmet_pci_epf_complete_iod() həmçinin nvmet_pci_epf_exec_iod_work() daxilində də çağırılır ki, bu da ikiqat tamamlanmaya gətirib çıxarır. Bu, yalnız host-a iki tamamlanma bildirişi göndərməklə kifayətlənmir, həm də PCI NVMe target-in vəziyyətini korlayaraq kernel oops xətasına səbəb olur. Bu yamaq nvmet_req_init() və req->execute() funksiyalarına bütün uğursuz əmrləri tamamlamağa imkan verir və nvmet_pci_epf_exec_iod_work() daxilindəki ikiqat tamamlanma halını aradan qaldırır, beləliklə, ikiqat tamamlanmaların baş verdiyi kənar hallar düzəldilir.

CiddilikYüksək
CVSS8.8
İstismar ehtimalı—
MəhsulLinux Kernel
Dərc22 avq 2025
İlk görülmə22 avq 2025

Necə düzəltmək olar

Yeniləyin
  • linux linux_kernel6.16.1 və ya daha yeni versiya

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
linux linux_kernel6.14 ≤ v < 6.16.16.16.1

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.

Intelligence 360 paketində

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.

CVE-2025-38658 · Linux Kernel · Dark Radar