- Son 7 gün
CVE-2026-99053
Linux çekirdeğindeki TIPC sürücüsünde, bağlantı adıyla bulunan düğümler için referans tutulmaması kullanım-sonrası-serbest bırakma hatasına…
- Yayımlandı
- Güncellendi
- 24 Eki 2026
- Açık yaşı
- 5 gün
- Kaydı açan
- Linux
ÖzetTürkçe
Linux çekirdeğinde, tipc_node_find_by_name fonksiyonu RCU okuma kilidini bıraktıktan sonra bir düğüm döndürür ancak bu düğüm için referans almaz. Bunun sonucunda LINK_SET, LINK_GET ve LINK_RESET_STATS işleyicileri, düşük düğümün zamanlayıcı tabanlı temizliğiyle yarış halinde, serbest bırakılmış olabilecek bir düğümü kilitleyip erişebilir. Generic netlink serileştirmesi düğüm zamanlayıcısını dışarıda bırakmadığı için bu yarış mümkündür. LINK_SET ayrıca düğüm kilidini bıraktıktan sonra, kuyruktaki paketleri tipc_bearer_xmit fonksiyonuna aktarırken düğümün medya adresini kullanır. KASAN, v7.3-rc5 sürümünde slab-use-after-free hatası bildirmiştir. Düzeltme, RCU'dan çıkmadan önce seçilen düğüme kref_get_unless_zero ile referans alır; düğüm zaten serbest bırakılmışsa NULL döndürür. Bu referans, LINK_SET'teki iletim dahil, düğüme son erişimden sonraki her çıkış yolunda serbest bırakılır. Mevcut bağlantı arama sırası ve kilitleme korunmuştur, böylece eşzamanlı bağlantı kaldırma işlemleri mevcut hata yollarını izler. CVSS 3.1 vektörü: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H (7.8, YÜKSEK).
Kaynaktaki açıklama (İngilizce)
In the Linux kernel, the following vulnerability has been resolved:
tipc: hold a reference to nodes found by link name
tipc_node_find_by_name() returns a node after dropping its RCU read lock
without taking a reference. The LINK_SET, LINK_GET and LINK_RESET_STATS
handlers then lock and access the node, racing with timer-driven cleanup of
a down peer. Generic netlink serialization does not exclude the node
timer.
The following interleaving can leave a handler using a freed node:
CPU 0: find the node under RCU and release the node read lock
CPU 1: tipc_node_timeout() clears the links and unlinks the down node
CPU 1: drop the list and timer references, queuing tipc_node_free()
CPU 0: leave the RCU read-side critical section
CPU 1: complete the grace period and free the node
CPU 0: acquire the node lock through the stale pointer
LINK_SET also uses the node's media address after releasing the node lock,
when passing queued packets to tipc_bearer_xmit().
KASAN on v7.3-rc5 reported:
BUG: KASAN: slab-use-after-free in _raw_read_lock_bh
Write of size 4 at addr ffff88807e06f008 by task poc/92
Call Trace:
_raw_read_lock_bh kernel/locking/spinlock.c:287
tipc_nl_node_set_link net/tipc/node.c:2475
genl_family_rcv_msg_doit net/netlink/genetlink.c:1114
genl_rcv_msg net/netlink/genetlink.c:1209
netlink_rcv_skb net/netlink/af_netlink.c:2575
Allocated by task 0:
tipc_node_create net/tipc/node.c:539
tipc_node_check_dest net/tipc/node.c:1196
tipc_disc_rcv net/tipc/discover.c:252
Freed by task 92:
kfree mm/slub.c:6801
rcu_core kernel/rcu/tree.c:2919
Last potentially related work creation:
__call_rcu_common.constprop.0 kernel/rcu/tree.c:3181
tipc_node_timeout net/tipc/node.c:814
Acquire a reference to the selected node with kref_get_unless_zero() before
leaving RCU, returning NULL if the node has already been released. Release
that reference on every caller exit after the last node access, including
transmission in LINK_SET. Keep the existing link lookup order and locking
so concurrent link removal still takes the existing error paths.
Bu açığın açıklamasını Türkçeye çevirdik. Adım adım çözüm önerilerini kritik ve yeni açıklar için hazırlıyoruz; düzeltilmiş sürüm aşağıdaki tabloda, ayrıntılar üreticinin duyurusunda.
Etkilenen sürümler1 yazılım
| Yazılım | Etkilenen | Düzeltildiği sürüm |
|---|---|---|
| Linux | 4.19 | – |
| < 4.19 Etkilenmiyor | – | |
| ≥ 6.6.160 Etkilenmiyor | – | |
| ≥ 6.12.113 Etkilenmiyor | – | |
| ≥ 6.18.57 Etkilenmiyor | – | |
| ≥ 7.2.11 Etkilenmiyor | – |
Kaynaklar7 kaynak
- CVE.org kaydı
- NVD kaydı
- git.kernel.org/…ble/c/b60259d4047fbb735476c729dcf9306a038b6110 Diğer
- git.kernel.org/…ble/c/f17e70206a1e763fcca2578a8db3c4eed0f843a9 Diğer
- git.kernel.org/…ble/c/1428c5f1d346a2e1ac9156713975a72246957009 Diğer
- git.kernel.org/…ble/c/3c3b308ee6e25729a6cf09b69cdd0e093220d40b Diğer
- git.kernel.org/…ble/c/17e73bae400f6a434dc006e3bee92c94cf781954 Diğer
Kayıt geçmişi
- Yayımlandı
İlgili açıklar
Türkçe metin, resmi kayıtlardaki bilgilerle yapay zekâ yardımıyla yazıldı ve yayından önce otomatik kontrollerden geçti. Bir değişikliği uygulamadan önce üreticinin duyurusuna mutlaka bakın.