OVSwrap açığı, Open vSwitch kullanan Linux’ta root yolu açıyor

Anasayfa » OVSwrap açığı, Open vSwitch kullanan Linux’ta root yolu açıyor
OVSwrap açığı, Open vSwitch kullanan Linux’ta root yolu açıyor

Linux çekirdeğinde Open vSwitch ile ilgili yeni bir güvenlik açığı, ayrıcalığı olmayan yerel kullanıcıların bazı sistemlerde root yetkisine kadar çıkmasına izin verebiliyor. CVE-2026-64531 olarak izlenen ve CVSS puanı 7.8 olan sorun, araştırmacı Asim Manizada tarafından 28 Temmuz 2026’da duyuruldu.

Açığın adı OVSwrap. Etkilenen yapı, Open vSwitch’in kullanıcı alanındaki ovs-vswitchd sürecinden değil, doğrudan çekirdek veri yolu katmanından kaynaklanıyor. Manizada’nın teknik notuna göre saldırganın mevcut bir OVS köprüsüne, çalışan bir ovs-vswitchd sürecine ya da sistem düzeyinde CAP_NET_ADMIN yetkisine ihtiyacı yok.

Bu durum, OVS çekirdek datapath’i kullanılabildiği ve unprivileged user namespaces etkin olduğu sistemlerde, sıradan bir kullanıcının unshare -Urn komutuyla özel user ve network namespace’leri oluşturabilmesiyle birleşiyor. Kullanıcı, bu namespace içinde CAP_NET_ADMIN yetkisi elde ediyor ve ardından savunmasız flow-installation yoluna ulaşabiliyor.

openvswitch modülü sistemde kurulu olup yüklenmemişse, Generic Netlink aile adının çözülmesi modülü otomatik olarak yükleyebiliyor. Bu nedenle lsmod çıktısının boş olması, sistemin güvende olduğu anlamına gelmiyor.

Çekirdek datapath’te başlayan hata

Zafiyet, Open vSwitch’in Linux çekirdeği içinde yer alan veri yolu bileşenindeki bir uzunluk taşmasına dayanıyor. OVS, ürettiği flow action verisini Netlink öznitelikleri içinde saklıyor ve bu yapıdaki nla_len alanı 16 bit olduğu için tek bir iç içe öznitelik en fazla 65.535 bayt olabiliyor.

İncelemeye göre güvensiz atama kodu 13 yıldır vardı. Buna karşın, üretilen action akışının toplam boyutunu 32 KiB ile sınırlayan eski koruma mekanizması, iç içe geçmiş bir action’ın taşma noktasına ulaşmasını engelliyordu. Mart 2025’te yapılan bir değişiklik bu sınırı kaldırdı. Gerekçe olarak büyük OpenStack kurulumlarında da görülen öngörülemez başarısızlıklar gösterildi, ancak güvenlik tarafındaki etki kod inceleme sürecinde ele alınmadı.

Saldırı senaryosunda, saldırgan yüzlerce conntrack alt eylemi içeren bir CLONE action gönderiyor. x86-64 mimarisinde çekirdek her birini 164 bayta genişletiyor ve bu, oluşturulan iç içe action boyutunu 65.535 baytın üstüne taşıyor. OVS bu değeri 16 bitlik uzunluk alanına yazdığında sayı sarıyor ve sonraki kod, uzunluk bilgisini gerçek sanıp ayrıştırmaya saldırgan tarafından kontrol edilen veri içinden devam ediyor.

Manizada, bunun heap grooming gerektirmeyen, aynı sürekli tampon içinde öngörülebilir iniş noktasına sahip bir bellek bozulması yarattığını belirtiyor. Kendi ifadesiyle güvenilirlik seviyesi “logic-bug-grade reliability” düzeyinde.

Open vSwitch generated flow actions’ı Netlink öznitelikleri olarak tutuyor ve nla_len alanının 16 bit olması, tek bir iç içe özniteliğin 65.535 baytı aşmasını imkânsız hale getirmesi gerekirken, saldırı bu sınırı aşıyor. 32 KiB’lık toplam akış limiti kaldırılmadan önce, bu tür bir iç içe action taşma noktasına ulaşamıyordu.

İstismarın zinciri ve yayımlanan PoC

Yayımlanan kanıt-kod, varsayılan haliyle yıkıcı çalışacak şekilde hazırlanmış. Başarılı saldırı için OVS conntrack desteği, FTP conntrack yardımcı modülü ve sudo paketinin kurulu olması gerekiyor. İstismar, taşma sonucunda üç temel yetenek elde ediyor: sahte OUTPUT eylemi üzerinden çekirdek pointer sızdırma, sahte bir tunnel SET eylemi ile keyfi çekirdek okuma ve sahte tun_dst işaretçisinin temizlenmesi sırasında hedefli bir azaltma işlemi.

Bu üç ilke ile sistemdeki bir sürecin kimlik bilgileri bulunuyor, modern çekirdeklerde fsuid ve fsgid değerleri sıfıra indiriliyor. PoC başarılı olduğunda çalışan bir çekirdek kimliği bozuluyor, /etc/sudoers.d ya da /etc/sudoers dosyası değiştiriliyor ve root kabuğu açılıyor. Araç, güvenli olmayan bir temizlik sürecine yol açmamak için süreçleri ve OVS durumunu olduğu gibi bırakacak şekilde tasarlanmış.

Yayımlanan depo, yaklaşık 800 farklı x86-64 çekirdek derlemesi için kayıt içeriyor. Kapsanmayan derlemelerde semboller ya da BTF üzerinden dinamik çıkarım yapılmaya çalışılıyor.

Manizada, açığı 19 Haziran’da security@kernel.org adresine ve Open vSwitch bakımcılarına bildirdiğini söyledi. Yukarı akışta ilk düzeltilen sürümler 24 Temmuz’da sabit kanallara girdi. Düzeltilmiş ilk sürümler Linux 5.15.212, 6.1.178, 6.6.145, 6.12.97, 6.18.40 ve 7.1.5 olarak listeleniyor. 6.13 ile 6.17 arasındaki, ayrıca 6.19 ve 7.0 serileri ise upstream stable düzeltmesi almayacak.

Yukarı akış sürüm numaraları tek başına yeterli görülmüyor. Dağıtım çekirdekleri geri taşınmış yamalar ve alt katman değişiklikleri taşıdığı için, üretici izleyicisi daha güvenilir referans olarak öne çıkıyor.

Manizada’nın test matrisi, varsayılan yapılandırmayla istismarın AlmaLinux 9 ve 10, Alpine 3.22 ile 3.24 arası, Amazon Linux 2023, Arch, CentOS Stream 9 ve 10, Debian 12 ve 13, Fedora 42 ile 44 arası, Gentoo, Kali 2026.1, Linux Mint 22.3, NixOS, openSUSE Tumbleweed, Pop!_OS, Rocky Linux 9 ve 10 ile Ubuntu 22.04 üzerinde çalıştığını gösterdi.

Ubuntu 24.04 test sistemlerinde AppArmor doğrudan namespace oluşturmayı engelledi, ancak PoC içindeki aa-exec -p trinity geri dönüş yolu erişimi yeniden sağladı. Stok Ubuntu 26.04 normal kullanıcı yolunu kapattı; AppArmor’un user-namespace kısıtlaması devre dışı bırakıldığında test edilen sistemler yine istismar edilebilir hale geldi. Amazon Linux 2, Debian 11, Rocky Linux 8 ve Ubuntu 20.04 ise eski kod yollarını koruduğu için bu yöntemle etkilenmedi.

Manizada, root’a giden yerel yolun özellikle birden fazla kullanıcının ya da güvenilmeyen iş yüklerinin aynı ana makineyi paylaştığı ortamlarda risk yarattığını aktardı. CloudLinux’un yayımladığı uyarıda da, böyle bir senaryoda yerel kullanıcının aslında başka bir açıktan sisteme sızmış saldırgan olabileceği ve OVSwrap’ın tek hesap düzeyindeki ihlali tam sunucu kontrolüne çevirebileceği vurgulandı.

Yama mevcutsa patched vendor kernel sürümüne geçilmesi isteniyor. Open vSwitch gerekmiyorsa en hızlı geçici önlem, modül yüklenmesini engellemek. Bunun için /etc/modprobe.d/ovswrap.conf dosyasına install openvswitch /bin/false satırının eklenmesi öneriliyor. Bu ayar gelecekteki yükleme denemelerini durduruyor; modül bellekte zaten yüklüyse kaldırılması ya da sistemin yeniden başlatılması gerekiyor.

Unprivileged user namespaces’in kapatılması, sıradan yerel kullanıcı yolunu kapatıyor. Ancak bir kapsayıcıda ya da saldırganın kontrolündeki network namespace üzerinde zaten CAP_NET_ADMIN yetkisi bulunan bir süreç için aynı koruma tek başına yeterli olmuyor. Manizada, kapsayıcı yönünün teorik olarak erişilebilir olabileceğini söyledi fakat bunu yayımlanan PoC içinde göstermedi. Depoda, OVS ile namespace’leri birlikte açık tutmak zorunda olan ortamlar için acil durum amaçlı bir BPF koruması da yer alıyor.

Open vSwitch, meşru ağ sanallaştırma senaryolarında ve güvenlik ekiplerinin kendi ortamlarını doğrulamasında da kullanılan bir teknoloji. Ancak bu olayda sorun araçta değil, çekirdek tarafındaki uzunluk taşması ve 2025’te kaldırılan koruma sınırında ortaya çıkıyor. Açığın yaygın çok-kullanıcılı ve güvenilmeyen iş yüklerinin bulunduğu sistemlerde daha kritik hale geldiği aktarılıyor.

Patched vendor kernel bulunmayan ve Open vSwitch gerektirmeyen sistemlerde modül yüklemelerinin bloklanması, modül zaten bellekteyse kaldırılması ya da yeniden başlatma ile temizlenmesi isteniyor. Manizada’nın yayımladığı depo, bu durumlar için yalnızca modül engelleme satırını değil, namespaces açık kalmak zorundaysa kullanılabilecek acil durum BPF korumasını da içeriyor.