CVE-2026-72125
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: can: isotp: eşzamanlı NETDEV_UNREGISTER ile oluşan serbest bırakıldıktan sonra kullanım (use-after-free) yarışı düzeltildi isotp_release(), saklanan ifindex değerini kullanarak dev_get_by_index() aracılığıyla bağlı ağ aygıtını arıyordu. Aygıt kaydı silinirken, aygıt NETDEV_UNREGISTER bildirim zinciri çalışmadan önce ifindex özetinden çıkarılır; bu nedenle eşzamanlı bir isotp_release() hiçbir aygıt bulamayabilir, can_rx_unregister() işlemini tamamen atlayabilir ve yine de soketi serbest bırakmaya devam edebilir. isotp_release() o noktada kendisini isotp bildirim listesinden zaten çıkardığı için, isotp_notify() temizleme işlemi yapma şansı bulamaz ve serbest bırakılan sokete işaret etmeye devam eden bayat bir CAN filtresi kalır. Bu durum, raw.c dosyasının halihazırda yaptığı şekilde düzeltildi: bind() işleminden itibaren, ifindex üzerinden yeniden çözümlemek yerine, sokette bağlı net_device için takip edilen bir referans tutulur (so->dev/so->dev_tracker) ve bind()/release() işlemleri rtnl_lock() ile serileştirilir; böylece so->dev her zaman NETDEV_UNREGISTER bildiricisinin gördüğüyle tutarlı olur. so->dev, ifindex-hash listesinden çıkarılmasından bağımsız olarak geçerli kalır ve yalnızca isotp_release()/isotp_notify() fonksiyonlarından hangisi önce ulaşırsa onun tarafından temizlenir, böylece filtre tam olarak bir kez kaldırılır. isotp_bind() artık so->[tx|rx].state henüz ISOTP_IDLE değilken yapılan bir (yeniden) bağlama isteğini -EAGAIN ile reddeder; böylece önceki bir NETDEV_UNREGISTER tarafından çalışır durumda bırakılan bir zamanlayıcı, yeni bağlanmış bir so->ifindex üzerinde işlem yapamaz. Her iki kontrol de aynı lock_sock() bölümünü paylaşır, dolayısıyla so->bound değerini temizleyen eşzamanlı bir isotp_notify() işleminin gözden kaçabileceği bir boşluk yoktur.
Nasıl düzeltilir
- Linux Linuxf311bbb29bb06aaab69ba45a6e4b11323d20b8f9, 8e018f4335590460ebcf0c2b493ed38ba1a35204, 33b9cd9245e2a4b800f99ed1cc53d64960614152, 0b811c4bbe3ec9ad611e90a540fe8b51b3bb8a96, 43884dc7963beef2328f507f4fe680bdc173eb80, 7bef39ba76eb7307ed22a50329e0f5776dbeda58, e442b62ba5a7756c17e05a77b32cdd085a2b6138, 20bab8b88baac140ca3701116e1d486c7f51e311 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | e057dd3fc20ffb3d7f150af46542a51b59b90127 ≤ v < f311bbb29bb06aaab69ba45a6e4b11323d20b8f9, e057dd3fc20ffb3d7f150af46542a51b59b90127 ≤ v < 8e018f4335590460ebcf0c2b493ed38ba1a35204, e057dd3fc20ffb3d7f150af46542a51b59b90127 ≤ v < 33b9cd9245e2a4b800f99ed1cc53d64960614152, e057dd3fc20ffb3d7f150af46542a51b59b90127 ≤ v < 0b811c4bbe3ec9ad611e90a540fe8b51b3bb8a96, e057dd3fc20ffb3d7f150af46542a51b59b90127 ≤ v < 43884dc7963beef2328f507f4fe680bdc173eb80, e057dd3fc20ffb3d7f150af46542a51b59b90127 ≤ v < 7bef39ba76eb7307ed22a50329e0f5776dbeda58, e057dd3fc20ffb3d7f150af46542a51b59b90127 ≤ v < e442b62ba5a7756c17e05a77b32cdd085a2b6138, e057dd3fc20ffb3d7f150af46542a51b59b90127 ≤ v < 20bab8b88baac140ca3701116e1d486c7f51e311, 5.10 | f311bbb29bb06aaab69ba45a6e4b11323d20b8f9, 8e018f4335590460ebcf0c2b493ed38ba1a35204, 33b9cd9245e2a4b800f99ed1cc53d64960614152, 0b811c4bbe3ec9ad611e90a540fe8b51b3bb8a96, 43884dc7963beef2328f507f4fe680bdc173eb80, 7bef39ba76eb7307ed22a50329e0f5776dbeda58, e442b62ba5a7756c17e05a77b32cdd085a2b6138, 20bab8b88baac140ca3701116e1d486c7f51e311 |
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.