CVE-2026-64044

Yüksek

Açıklama

Linux kernel'da aşağıdaki güvenlik açığı giderilmiştir: ovpn: CMD_NEW_PEER hata yolunda eş referans sayısına (peer refcount) uyulması ovpn_nl_peer_new_doit()'in hata yolu, ovpn_peer_put() yerine doğrudan ovpn_peer_release() fonksiyonunu çağırarak kref mekanizmasını baypas etmektedir. İlgili yorum ("eş henüz hashlenmedi, dolayısıyla herhangi bir bağlamda kullanılmıyor"), UDP için geçerli olsa da TCP için geçerli değildir. UDP için, ovpn_socket birleşimi (union) .ovpn kolunu kullanır ve asla bir eşe geri işaret etmez; UDP encap_recv, henüz doldurulmamış hash tabloları üzerinden eşleri arar, bu nedenle yeni eş, ovpn_peer_add() onu yayınlayana kadar erişilemez durumdadır. TCP için, ovpn_socket_new() ovpn_sock->peer değerini ayarlar ve ovpn_tcp_socket_attach() rcu_assign_sk_user_data() aracılığıyla ovpn_sock'u yayınlar. Bu andan itibaren, hata yolundaki ovpn_socket_release() bağlantıyı kesene kadar TCP fd tamamen yapılandırılmıştır: kullanıcı alanındaki fd üzerindeki recvmsg / sendmsg / close / poll işlemleri ile strparser tarafından yönlendirilen ovpn_tcp_rcv() yolu, sk_user_data -> ovpn_sock->peer üzerinden eşe ulaşabilir ve ovpn_peer_hold() aracılığıyla onun referans sayısını artırabilir. (ovpn_socket_release() içinde çağrılan) ovpn_tcp_socket_wait_finish(), strparser'ı ve tx işlerini boşaltır ancak halihazırda bir eş referansı tutan kullanıcı alanı sistem çağrısı çağrılarıyla senkronize olmaz. Eğer böyle bir çağrı devam ederken -özellikle peer->tcp.user_queue üzerinde __skb_recv_datagram() içerisinde bloke olmuş bir ovpn_tcp_recvmsg()- ovpn_nl_peer_modify() veya ovpn_peer_add() bir hata döndürürse, doğrudan yapılan ovpn_peer_release() çağrısı, çağrı hala referansı tutarken eşi yok eder ve o çağrıdan gelen nihai ovpn_peer_put() işlemi serbest bırakılmış bellek üzerinde çalışır. Doğrudan yıkıcı (destructor) çağrısını, kref'in imha işlemini son referans bırakılana kadar doğru şekilde ertelemesi için ovpn_peer_put() ile değiştirin. Eşzamanlı bir kullanıcının bulunmadığı yaygın durumda davranış değişmez: kref hemen sıfıra iner ve ovpn_peer_release_kref() aynı yıkıcıyı çalıştırır. Bu dönüşümle birlikte ovpn_peer_release() fonksiyonunun peer.c dışında hiçbir çağırıcısı kalmamıştır -aynı çeviri birimindeki ovpn_peer_release_kref() tek kalan kullanıcıdır- bu nedenle fonksiyonu static yapın ve peer.h dosyasındaki bildirimini kaldırın.

ÖnemYüksek
CVSS7.8
İstismar olasılığı—
ÜrünLinux Kernel
Yayın19 Tem 2026
İlk görülme19 Tem 2026

Nasıl düzeltilir

Güncelleyin
  • linux linux_kernel6.18.34, 7.0.11 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
linux linux_kernel6.16 ≤ v < 6.18.34, 6.19 ≤ v < 7.0.11, 7.16.18.34, 7.0.11

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.

Intelligence 360 paketinde

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.

CVE-2026-64044 · Linux Kernel · Dark Radar