CVE-2026-46015
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: tcp: dinleyici taşımasından sonra sk_data_ready() çağrısı inet_csk_listen_stop(), kurulmuş bir alt soketi kapanmakta olan bir dinleyiciden aynı SO_REUSEPORT grubundaki başka bir sokete taşıdığında, hedef dinleyici inet_csk_reqsk_queue_add() aracılığıyla yeni bir kabul kuyruğu girişi alır ancak bu yol hedef dinleyicinin bekleyenlerini asla bilgilendirmez. Bloklamayan accept() doğrudan kuyruğu kontrol ettiği için çalışmaya devam eder, fakat poll()/epoll_wait() bekleyenleri ve bloklayan accept() çağrıları süresiz olarak uykuda kalabilir. inet_csk_listen_stop() içerisindeki başarılı bir taşımanın ardından READ_ONCE(nsk->sk_data_ready)(nsk) çağrılmalıdır. Ancak, inet_csk_reqsk_queue_add() başarıyla tamamlandıktan sonra, reuseport_migrate_sock() içinde alınan referans etkili bir şekilde nreq->rsk_listener'a aktarılır. Ardından başka bir CPU, accept() veya dinleyici kapatma yoluyla nreq'i kuyruktan çıkarabilir, reqsk_put()'a ulaşabilir ve söz konusu dinleyici referansını düşürebilir. Dinleyiciler SOCK_RCV_FREE olduğu için, queue_add() sonrası nsk dereferans işlemleri, aynı yoldaki mevcut sock_net(nsk) erişimini de kapsayacak şekilde rcu_read_lock()/rcu_read_unlock() ile sarmalanmıştır. reqsk_timer_handler() yolu iki nedenden dolayı aynı değişikliklere ihtiyaç duymaz: yarı açık istekler yalnızca son ACK'den sonra okunabilir hale gelir ve burada tcp_child_process() zaten dinleyiciyi uyandırır; ayrıca nreq, inet_ehash_insert() aracılığıyla görünür olduğunda, başarı yolu artık nsk'ya doğrudan dokunmaz.
Nasıl düzeltilir
- linux linux_kernel5.15.209, 6.1.175, 6.6.140, 6.12.86, 6.18.27, 7.0.4 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| linux linux_kernel | 5.14 ≤ v < 5.15.209, 5.16 ≤ v < 6.1.175, 6.2 ≤ v < 6.6.140, 6.7 ≤ v < 6.12.86, 6.13 ≤ v < 6.18.27, 6.19 ≤ v < 7.0.4 | 5.15.209, 6.1.175, 6.6.140, 6.12.86, 6.18.27, 7.0.4 |
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.