CVE-2024-26859

Orta

Açıklama

Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: net/bnx2x: page_pool içindeki serbest bırakılmış bir sayfaya erişimin önlenmesi EEH hata yönetimi sırasında sistem çökmesine yol açan yarış durumunun (race condition) düzeltilmesi EEH hata kurtarma işlemi sırasında, bnx2x sürücüsünün iletim zaman aşımı mantığı, sıfırlama görevlerini işlerken bir yarış durumuna neden olabiliyordu. bnx2x_tx_timeout(), bnx2x_sp_rtnl_task() aracılığıyla sıfırlama görevlerini planlar ve bu da nihayetinde bnx2x_nic_unload() fonksiyonuna yol açar. bnx2x_nic_unload() içerisinde SGE'ler, bnx2x_free_rx_sge_range() kullanılarak serbest bırakılır. Ancak bu işlem, EEH sürücüsünün bnx2x_io_slot_reset() kullanarak cihazı sıfırlama girişimiyle örtüşebilir; çünkü bu fonksiyon da SGE'leri serbest bırakmaya çalışır. Bu yarış durumu, bnx2x_free_rx_sge() fonksiyonunda serbest bırakılmış bellek konumlarına erişilmesi nedeniyle sistem çökmelerine yol açabilir: 799 static inline void bnx2x_free_rx_sge(struct bnx2x *bp, 800 struct bnx2x_fastpath *fp, u16 index) 801 { 802 struct sw_rx_page *sw_buf = &fp->rx_page_ring[index]; 803 struct page *page = sw_buf->page; .... Burada sw_buf, önceki iş parçacığı tarafından dma_unmap_page() çağrısından sonra NULL olarak ayarlanmıştır. EEH: Beginning: 'slot_reset' PCI 0011:01:00.0#10000: EEH: Invoking bnx2x->slot_reset() bnx2x: [bnx2x_io_slot_reset:14228(eth1)]IO slot reset initializing... bnx2x 0011:01:00.0: enabling device (0140 -> 0142) bnx2x: [bnx2x_io_slot_reset:14244(eth1)]IO slot reset --> driver unload Kernel attempted to read user page (0) - exploit attempt? (uid: 0) BUG: Kernel NULL pointer dereference on read at 0x00000000 Faulting instruction address: 0xc0080000025065fc Oops: Kernel access of bad area, sig: 11 [#1] ..... Call Trace: [c000000003c67a20] [c00800000250658c] bnx2x_io_slot_reset+0x204/0x610 [bnx2x] (unreliable) [c000000003c67af0] [c0000000000518a8] eeh_report_reset+0xb8/0xf0 [c000000003c67b60] [c000000000052130] eeh_pe_report+0x180/0x550 [c000000003c67c70] [c00000000005318c] eeh_handle_normal_event+0x84c/0xa60 [c000000003c67d50] [c000000000053a84] eeh_event_handler+0xf4/0x170 [c000000003c67da0] [c000000000194c58] kthread+0x1c8/0x1d0 [c000000003c67e10] [c00000000000cf64] ret_from_kernel_thread+0x5c/0x64 Bu sorunu çözmek için, serbest bırakmadan önce sayfa havuzu (page pool) tahsisatlarının doğrulanması gerekmektedir.

ÖnemOrta
CVSS4.7
İstismar olasılığı—
ÜrünLinux Kernel
Yayın17 Nis 2024
İlk görülme17 Nis 2024

Nasıl düzeltilir

Güncelleyin
  • linux linux_kernel4.19.311, 5.4.273, 5.10.214, 5.15.153, 6.1.83, 6.6.23, 6.7.11, 6.8.2 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
linux linux_kernel4.2 ≤ v < 4.19.311, 4.20 ≤ v < 5.4.273, 5.5 ≤ v < 5.10.214, 5.11 ≤ v < 5.15.153, 5.16 ≤ v < 6.1.83, 6.2 ≤ v < 6.6.23, 6.7 ≤ v < 6.7.11, 6.8 ≤ v < 6.8.24.19.311, 5.4.273, 5.10.214, 5.15.153, 6.1.83, 6.6.23, 6.7.11, 6.8.2
debian debian_linux10.0—

Sürümünüzü kontrol edin

Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.

Intelligence 360 paketinde

Attack Surface Management

Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.