CVE-2026-52947
Açıklama
Linux kernel'de aşağıdaki güvenlik açığı giderilmiştir: net: qrtr: qrtr_port_remove fonksiyonundaki refcount doygunluğu ve potansiyel UAF düzeltildi qrtr_port_remove() fonksiyonunda, soket referans sayacı, port qrtr_ports XArray yapısından kaldırılmadan ve RCU grace süresi dolmadan önce __sock_put() aracılığıyla azaltılmaktadır. Bu durum temel RCU güncelleme paradigmasını bozmaktadır. Eşzamanlı bir RCU okuyucusunun (qrtr_reset_ports() veya qrtr_port_lookup() gibi), XArray üzerinden sokete ait bir işaretçi elde edebileceği ve referans sayısı zaten sıfıra düşmüş olan bir soket üzerinde sock_hold() çağırmaya çalışabileceği bir yarış durumu (race window) oluşturmaktadır. Bu kesin yarış durumu syzkaller fuzzing sırasında tetiklenmiş olup, aşağıdaki refcount doygunluk uyarısına ve potansiyel bir serbest bırakıldıktan sonra kullanım (Use-After-Free) durumuna yol açmıştır: refcount_t: saturated; leaking memory. WARNING: CPU: 3 PID: 1273 at lib/refcount.c:22 refcount_warn_saturate+0xae/0x1d0 Modules linked in: qrtr(+) bochs drm_shmem_helper ... Call Trace: <TASK> qrtr_reset_ports net/qrtr/af_qrtr.c:768 [inline] [qrtr] __qrtr_bind.isra.0+0x48b/0x570 net/qrtr/af_qrtr.c:805 [qrtr] qrtr_bind+0x17d/0x210 net/qrtr/af_qrtr.c:901 [qrtr] kernel_bind+0xe4/0x120 net/socket.c:3592 qrtr_ns_init+0x1a6/0x380 net/qrtr/ns.c:715 [qrtr] qrtr_proto_init+0x3b/0xff0 net/qrtr/af_qrtr.c:169 [qrtr] do_one_initcall+0xf5/0x5e0 init/main.c:1283 ... </TASK> Bu sorun, referans sayacı azaltma işlemi xa_erase() ve synchronize_rcu() tamamlanana kadar ertelenerek düzeltilmiştir. (Not: Bu yamanın v1 sürümünde __sock_put() hatalı bir şekilde sock_put() ile değiştirilmişti. Simon Horman'ın belirttiği üzere, qrtr_port_remove() çağırıcıları hala sokete ait bir referansa sahiptir, bu nedenle soket belleğinin burada serbest bırakılması çağırıcıda ardışık bir UAF durumuna yol açacaktır. Bu sebeple __sock_put() korunmuş, ancak RCU yarış durumunu kapatmak için konumu değiştirilmiştir.)
Nasıl düzeltilir
- linux linux_kernel5.10.259, 5.15.210, 6.1.176, 6.6.143, 6.12.94, 6.18.36, 7.0.13 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 | 4.7 ≤ v < 5.10.259, 5.11 ≤ v < 5.15.210, 5.16 ≤ v < 6.1.176, 6.2 ≤ v < 6.6.143, 6.7 ≤ v < 6.12.94, 6.13 ≤ v < 6.18.36, 6.19 ≤ v < 7.0.13, 7.1 | 5.10.259, 5.15.210, 6.1.176, 6.6.143, 6.12.94, 6.18.36, 7.0.13 |
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.