CVE-2026-89968
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: nvmet-tcp: istenmeyen H2CData PDU'larını reddet nvmet_tcp_handle_h2c_data_pdu() fonksiyonu, yalnızca TTAG değerinin geçerli bir aralıkta komut dizini olduğunu ve komutun veri tamponlarının eşlendiğini kontrol ettikten sonra bir H2CData PDU'sunu kabul etmektedir. Hedefin, ilgili komut için bir R2T göndererek bu veriyi gerçekten talep edip etmediğini hiçbir zaman kontrol etmemektedir. Uzak bir ana bilgisayar bunu kötüye kullanabilir. R2T yolunu kullanan bir yazma komutu gönderir ve hedef R2T iletmeden önce, o komutun etiketi için bir H2CData PDU'su gönderir. Veriler komutu erken tamamlar ve ardından komut senkron olarak başarısız olduğunda (örneğin, nvmet_check_transfer_len() tarafından yakalanan bir uzunluk uyumsuzluğu), ikinci kez tamamlanır. Her tamamlama nvmet_tcp_queue_response() fonksiyonunu çağırır, böylece aynı komut hala bağlıyken queue->resp_list listesine iki kez eklenir; ikinci llist_add() işlemi düğümün kendisine işaret etmesine neden olur (lentry->next == lentry). Ardından nvmet_tcp_process_resp_list() bu kendi kendine referans veren düğümü gezer ve komutu resp_send_list listesine iki kez ekler. CONFIG_DEBUG_LIST etkinleştirildiğinde bu durum "list_add double add" kontrolünü tetikler (kernel BUG); etkin değilse döngü asla sona ermez ve nvmet_tcp iş kuyruğu kilitlenir (soft-lockup). Bu durum uzaktan tetiklenebilir ve allow_any_host alt sisteminde herhangi bir kimlik doğrulama gerektirmez. Bir komut için R2T iletilip iletilmediği takip edilir ve bundan önce gelen H2CData PDU'ları reddedilir. Bayrak, komut yeniden kullanıldığında temizlenir (nvmet_tcp_get_cmd() cmd->flags değerini sıfırlar) ve tek bir talep edilen aktarımın birden fazla H2CData PDU'su boyunca ayarlı kalır.
Nasıl düzeltilir
- Linux Linux02341ee424fb2eed16b5b8a9d247492e49335c21, cade124c06f8e738e3a0df285ed2e08953e6bfaa, 14beef7d4f123fb458fc9844aa74a071871dcca6, 9fb527103e53fd43a8e802c2eca407869c204f7a, 2b71f9193e3d3a352920ba367f1a6db345249038, cf1484d9a75de6809ef331e16f525aaa41b0e16d, 1cbed7538946c99e585acefd11c9ba3a0bdbae05, db62b35cbca052860c519cbcabe7650708528738 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | 872d26a391da92ed8f0c0f5cb5fef428067b7f30 ≤ v < 02341ee424fb2eed16b5b8a9d247492e49335c21, 872d26a391da92ed8f0c0f5cb5fef428067b7f30 ≤ v < cade124c06f8e738e3a0df285ed2e08953e6bfaa, 872d26a391da92ed8f0c0f5cb5fef428067b7f30 ≤ v < 14beef7d4f123fb458fc9844aa74a071871dcca6, 872d26a391da92ed8f0c0f5cb5fef428067b7f30 ≤ v < 9fb527103e53fd43a8e802c2eca407869c204f7a, 872d26a391da92ed8f0c0f5cb5fef428067b7f30 ≤ v < 2b71f9193e3d3a352920ba367f1a6db345249038, 872d26a391da92ed8f0c0f5cb5fef428067b7f30 ≤ v < cf1484d9a75de6809ef331e16f525aaa41b0e16d, 872d26a391da92ed8f0c0f5cb5fef428067b7f30 ≤ v < 1cbed7538946c99e585acefd11c9ba3a0bdbae05, 872d26a391da92ed8f0c0f5cb5fef428067b7f30 ≤ v < db62b35cbca052860c519cbcabe7650708528738, 5.0 | 02341ee424fb2eed16b5b8a9d247492e49335c21, cade124c06f8e738e3a0df285ed2e08953e6bfaa, 14beef7d4f123fb458fc9844aa74a071871dcca6, 9fb527103e53fd43a8e802c2eca407869c204f7a, 2b71f9193e3d3a352920ba367f1a6db345249038, cf1484d9a75de6809ef331e16f525aaa41b0e16d, 1cbed7538946c99e585acefd11c9ba3a0bdbae05, db62b35cbca052860c519cbcabe7650708528738 |
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.