CVE-2026-74609
Açıklama
Linux kernel'de aşağıdaki güvenlik açığı giderilmiştir: tipc: tipc_node_link_down() fonksiyonunda le->link okuması node kilidi altında gerçekleştirilmeli tipc_node_link_down(), n->lock kilidini almadan önce bağlantı işaretçisini önbelleğe alır: struct tipc_link *l = le->link; /* kilitlenmemiş */ if (!l) return; tipc_node_write_lock(n); if (!tipc_link_is_establishing(l)) { /* l referans alınır */ ... tipc_link_reset(l); /* l üzerine yazılır */ if (delete) { kfree(l); le->link = NULL; delete=true olan çağrıcı, söz konusu nesneyi n->lock altında serbest bıraktığından, kilit önbelleğe alınan işaretçiyi buna karşı korumamaktadır: - CPU A, delete=false: TIPC_LINK_DOWN_EVT üzerinde tipc_rcv() veya tipc_node_timeout() aracılığıyla bağlantı denetim zamanlayıcısı, l değerini kilitsiz olarak okur ve ardından n->lock altında referans alır; - CPU B, delete=true: netlink TIPC_NL_BEARER_DISABLE -> bearer_disable() -> tipc_node_delete_links() -> tipc_node_link_down(n, bearer_id, true) -> kfree(l). Bağlantı kfree_rcu() ile değil, standart kfree() ile serbest bırakılır ve UDP taşıyıcıları için disable_media() yalnızca asenkron cleanup_bearer() işlemini planlar, bu nedenle synchronize_net() işlemi bağlantılar zaten yok olduktan sonra çalışır. Dolayısıyla, l değerini okumuş olan işlem halindeki bir CPU A, B tarafından serbest bırakıldıktan sonra serbest bırakılmış belleği referans alır: tipc_link_is_establishing() fonksiyonunda bir serbest bırakıldıktan sonra kullanım (use-after-free) okuma hatası ve kurulan dalda tipc_link_reset() üzerinden bir serbest bırakıldıktan sonra kullanım yazma hatası oluşur. 7.2.0-rc5-00284-gaf39eb111ce6 sürümünde şu izleme yakalanmıştır: BUG: KASAN: slab-use-after-free in tipc_link_is_establishing (net/tipc/link.c:285) Read of size 4 at addr ffff88802e2aa068 by task swapper/2/0 tipc_link_is_establishing (net/tipc/link.c:285) tipc_node_link_down (net/tipc/node.c:1076) tipc_node_timeout (net/tipc/node.c:843) Allocated by task 9549: tipc_link_create (net/tipc/link.c:490) tipc_node_check_dest (net/tipc/node.c:1279) tipc_disc_rcv (net/tipc/discover.c:252) tipc_udp_recv (net/tipc/udp_media.c:389) Freed by task 9549: tipc_node_link_down (net/tipc/node.c:1084) tipc_node_delete_links (net/tipc/node.c:1320) bearer_disable (net/tipc/bearer.c:414) __tipc_nl_bearer_disable (net/tipc/bearer.c:992) le->link okuması tipc_node_write_lock() içerisine taşınarak, silme yolundaki kfree() işlemiyle sıralanması sağlanmıştır. Yarış durumundaki bir kapatma işlemi artık ya henüz çalışmamıştır ve geçerli bir bağlantı görülür ya da çoktan çalışmıştır ve NULL görülür.
Nasıl düzeltilir
- Linux Linux2be741ad565c610871a6a95062c12c39da7168fd, 69d209461c110388710e483a130caf051e4fd09a, de017c22135f545ca4e65d1eada22887b64958eb, 47ba70891b10b2feb52462086b7fcd2ad75d3ce3, a714d62513befef37f71f4ae89bb1fe173b65f2e, c3f2347a47754eac690967cfd82cb6d559817b07, 5558a8312452ddb21eff22b1cbd84302ad951944, cba9ccb47e9fa4cc77692fb896cc5ab57a667882 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | 73f646cec35477b5099d7e952297cb9e1855be45 ≤ v < 2be741ad565c610871a6a95062c12c39da7168fd, 73f646cec35477b5099d7e952297cb9e1855be45 ≤ v < 69d209461c110388710e483a130caf051e4fd09a, 73f646cec35477b5099d7e952297cb9e1855be45 ≤ v < de017c22135f545ca4e65d1eada22887b64958eb, 73f646cec35477b5099d7e952297cb9e1855be45 ≤ v < 47ba70891b10b2feb52462086b7fcd2ad75d3ce3, 73f646cec35477b5099d7e952297cb9e1855be45 ≤ v < a714d62513befef37f71f4ae89bb1fe173b65f2e, 73f646cec35477b5099d7e952297cb9e1855be45 ≤ v < c3f2347a47754eac690967cfd82cb6d559817b07, 73f646cec35477b5099d7e952297cb9e1855be45 ≤ v < 5558a8312452ddb21eff22b1cbd84302ad951944, 73f646cec35477b5099d7e952297cb9e1855be45 ≤ v < cba9ccb47e9fa4cc77692fb896cc5ab57a667882, 4.4 | 2be741ad565c610871a6a95062c12c39da7168fd, 69d209461c110388710e483a130caf051e4fd09a, de017c22135f545ca4e65d1eada22887b64958eb, 47ba70891b10b2feb52462086b7fcd2ad75d3ce3, a714d62513befef37f71f4ae89bb1fe173b65f2e, c3f2347a47754eac690967cfd82cb6d559817b07, 5558a8312452ddb21eff22b1cbd84302ad951944, cba9ccb47e9fa4cc77692fb896cc5ab57a667882 |
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.