CVE-2026-99028
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: net: xilinx: axienet: dmaengine durdurulduğunda bekleyen DMA tamponlarının serbest bırakılması dmaengine yolunda sürücü, RX tamponlarını önceden gönderir ve SKB'leri sürücü tarafından DMA-eşlenen ve yalnızca tamamlanma geri çağırmalarında (completion callbacks) serbest bırakılan işlem aşamasındaki TX tamponlarını tutar. ndo_stop() sırasında dmaengine_terminate_sync(), bu tanımlayıcıları geri çağırmalarını çalıştırmadan iptal eder ve ardından sürücü yalnızca halka kabuklarını (ring shells) serbest bırakır; böylece her ifdown işleminde motorun hala sahip olduğu her SKB ve bunun DMA eşlemesi sızdırılır. Kanal başına önceden yerleştirilmiş 128 RX tamponu ile eşleme sızıntısı, zamanla sınırlı bir IOMMU açıklığını tüketebilir. TX ve RX geri çağırmalarında yuvanın skb'sini temizleyin, böylece NULL olmayan bir skb hala canlı, DMA-eşlenmiş bir tampona sahip olan bir yuvayı işaret eder ve durdurma sırasında bu tür her tamponun eşlemesini kaldırıp serbest bırakın. axienet_dma_rx_cb() DMA tasklet üzerinden çalışır ve her tamamlanmada RX halkasını yeniden kurar, bu nedenle axienet_stop() ile yarış durumuna girebilir: Bir tamamlanma işlemi, dmaengine_terminate_sync() döndükten sonra yeni bir tampon gönderebilir ve kanal, motor hala içine yazabiliyorken kaldırma işleminin serbest bıraktığı bir tamponla kurulu kalabilir (dma_release_channel() da bunu durdurmaz). axienet_dma_rx_cb()'nin @stopping kontrolü ve yeniden gönderim boyunca tuttuğu ve axienet_stop()'un sonlandırmadan önce @stopping değerini ayarlamak için tuttuğu bir kilit ekleyin. @stopping ayarlandıktan sonra hiçbir geri çağırma yeni bir tampon kuramaz ve hemen öncesinde kurulmuş olanlar sonlandırma tarafından iptal edilir, böylece kaldırma işlemi yalnızca motorun artık sahip olmadığı tamponları serbest bırakır.
Nasıl düzeltilir
- Linux Linux079396129da5e7cb40ca0920aa1b9525bef6097c, eececf7c3a679d9c08175ad6bacbc8c31848f5af, 5e5cf3ad7c099ff86ea9e422cddb25a2e5317b58, bcf2573a68a808a5b54cadafa72b6672e662c2bf ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | 6a91b846af85a24241decd686269e8e038eb13d1 ≤ v < 079396129da5e7cb40ca0920aa1b9525bef6097c, 6a91b846af85a24241decd686269e8e038eb13d1 ≤ v < eececf7c3a679d9c08175ad6bacbc8c31848f5af, 6a91b846af85a24241decd686269e8e038eb13d1 ≤ v < 5e5cf3ad7c099ff86ea9e422cddb25a2e5317b58, 6a91b846af85a24241decd686269e8e038eb13d1 ≤ v < bcf2573a68a808a5b54cadafa72b6672e662c2bf, 6.8 | 079396129da5e7cb40ca0920aa1b9525bef6097c, eececf7c3a679d9c08175ad6bacbc8c31848f5af, 5e5cf3ad7c099ff86ea9e422cddb25a2e5317b58, bcf2573a68a808a5b54cadafa72b6672e662c2bf |
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.
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.