June 29, 2026
DirtyClone: Linux Çekirdeğinde Root Erişimi Sağlayan Yeni Bir Güvenlik Açığı
JFrog Security Research ekibinin yayımladığı bir araştırma, Linux güvenlik dünyasında ciddi bir sarsıntı yarattı. DirtyClone adı verilen ve…

By Dogukan İSPİRLİ
3 min read
JFrog Security Research ekibinin yayımladığı bir araştırma, Linux güvenlik dünyasında ciddi bir sarsıntı yarattı. DirtyClone adı verilen ve CVE-2026-43503 olarak doğrulanan bu açık, unprivileged yerel kullanıcıların, sistemi tamamen ele geçirerek root erişimi kazanmasına imkân tanıyor. Üstelik bunu yaparken çekirdek loglarında ya da audit kayıtlarında hiçbir iz bırakmıyor. Bu yazıda açığın ne olduğunu, nasıl çalıştığını ve kendi sistemlerinizi nasıl koruyabileceğinizi mümkün olduğunca sade bir dille anlatmaya çalışacağım.
DirtyFrag Ailesi ;
DirtyClone'u anlamak için önce biraz bağlam kurmak gerekiyor. Bu açık, DirtyFrag ailesi olarak adlandırılan bir güvenlik açığı grubunun en yeni üyesi.
Ailenin diğer üyeleri şunlar:
- Copy Fail : CVE-2026–3143130, Nisan 2026,
algif_aead(AF_ALG crypto). - DirtyFrag: CVE-2026–43284 & CVE-2026–43500, 8 Mayıs 2026, IPsec ESP (xfrm) + RxRPC.
- Fragnesia: CVE-2026–46300, 14 Mayıs 2026, XFRM ESP-in-TCP.
- pedit COW: CVE-2026–46331, 26 Haziran 2026, net/sched act_pedit.
- DirtyClone: CVE-2026–43503, 26 Haziran 2026, XFRM/IPsec + netfilter TEE.
Çok tuhaftır ki, bu açıkların hepsinin ortak bir noktası var. O da Linux çekirdeğinin, dosya destekli page cache belleği, network socket buffer (skb) ve in-place kriptografik dönüşümler arasındaki sınırları yeterince katı biçimde korumaması.
CVSS puanı 8.8 olan DirtyClone, bu ailenin en yüksek ciddiyete sahip üyelerinden biri olarak öne çıkıyor.
Açığın Teknik Köküne İnmek Gerekirse,
Sorunun özü __pskb_copy_fclone() adlı bir çekirdek fonksiyonunda yatıyor.
Orijinal DirtyFrag açığı ortaya çıktığında, Linux çekirdeği buna karşı SKBFL_SHARED_FRAG adında bir güvenlik flagi getirdi. Bu flag, splice yoluyla socket bufferlara bağlanan dosya destekli page cache sayfalarını işaretleyerek, bu sayfaların yerinde şifresiyle değiştirilmesini önlemek amacıyla tasarlandı.
DirtyClone'un yaptığı şey ise basit ama son derece kurnazca bir şey, __pskb_copy_fclone() fonksiyonu, bir paket klonladığında bu SKBFL_SHARED_FRAG güvenlik flagini sessiz sedasız düşürüyor. Flag gidince koruma da gidiyor. Netfilter'ın TEE hedefi paketleri klonlamak için tam olarak bu fonksiyonu kullandığından, saldırgan bu yolu exploit edebilir hale geliyor.
DirtyFrag'ı direkt splice yoluyla tetiklemek mümkünken, DirtyClone paket klonlama yolunu kullanıyor. Bu da onu önceki patchlerden bağımsız kılıyor.
Saldırı Nasıl İşliyor? 7 Adımlı Yetki Yükseltme
JFrog'un araştırmasına göre exploit, şu adımları izliyor:
1. Hedef binary'yi belleğe map'leme Saldırgan /usr/bin/su gibi ayrıcalıklı bir binary dosyayı memory-map ederek kernel'ın page cache'ine yükler. Artık bu sayfa, yazılacak hedef haline gelir.
2. Page cache'i pakete splice etme vmsplice ve splice sistem çağrıları kullanılarak, dosya destekli bu sayfa kopyalanmadan doğrudan bir UDP soket bufferına (skb) eklenir.
3. Loopback IPsec tüneli kurma unshare -Urn komutuyla bir kullanıcı namespace'i içinde CAP_NET_ADMIN yetkisi edinilir. Bu sayede yerel bir XFRM/ESP tüneli kurulur. Tüm trafik kernel içinde kalır, dışarı sızmaz.
4. TEE ile paket klonlama tetikleme Bir netfilter TEE kuralı devreye sokulur. Bu kural, paketi __pskb_copy_fclone() üzerinden klonlatır. İşte tam bu noktada SKBFL_SHARED_FRAG bayrağı düşer.
5. Yerinde IPsec şifre çözümünü zorla, Klon paketin içinde hâlâ /usr/bin/su'nun page cache sayfasına bir referans vardır. Paket esp_input()'a ulaştığında IPsec, payload'ı bu bufferının içinde doğrudan çözer. Yani page cache sayfasının üzerine yazar.
6. AES-CBC ile kontrollü üzerine yazma Saldırgan şifreleme anahtarı, IV ve paket düzenini manipüle ederek istediği byte'ları üretecek bir ciphertext hesaplar. Bu ciphertext çözüldüğünde, su binary'sinin kimlik doğrulama mantığını bypass eden byte'lar ortaya çıkar.
7. Değiştirilen binary'yi çalıştırma Bir sonraki su çağrısında çekirdek, değiştirilen page cache sayfasını kullanır. Kimlik doğrulama atlanır ve root erişimi elde edilir.
Disk üzerindeki dosyaya dokunulmaz. Bu, saldırıyı dosya bütünlüğü yapan monitoring araçlarına (FIM) tamamen görünmez kılıyor.
Hangi Sistemler Etkileniyor?
Bu güvenlik açığı, ayrıcalıksız kullanıcı namespace'lerinin açık olduğu geniş bir dağıtım yelpazesini etkiliyor:
- Debian — Varsayılan olarak etkileniyor.
- Fedora — Varsayılan olarak etkileniyor.
- Ubuntu — 24.04 ve sonrasında AppArmor kısıtlamaları kısmi bir koruma sağlıyor, ancak yine de etkilenen listesinde yer alıyor.
- Cloud ve Container ortamları —Özellikle Kubernetes cluster'ları, multi-tenant container platformları ve user namespace özelliğinin etkin olduğu Linux container runtime ortamlarında en yüksek risk profilini oluşturmaktadır.
Önemli bir not düşmek gerekirse: Yalnızca orijinal DirtyFrag patchlerini uyguladıysanız korunmuş sayılmazsınız. CVE-2026–46300 ve CVE-2026–43503 patchlerini de içermeyen her kernel hâlâ exploit edilebilir durumda.
Düzeltme ve Alınabilecek Önlemler
İyi haber şu ki: Düzeltme Linux mainline'a 21 Mayıs 2026'da merge edildi (commit 48f6a5356a33). İlk düzeltilmiş sürüm Linux v7.1-rc5 (24 Mayıs 2026).
Hemen alabileceğiniz aksiyonlar:
- Kernelı güncelleyin Dağıtımınızın CVE-2026–43503 backport patchini veya Linux v7.1-rc5'i kullanın.
- Ayrıcalıksız namespace'leri kısıtlayın
sysctl -w kernel.unprivileged_userns_clone=0sysctl -w kernel.unprivileged_userns_clone=0Bu ayarı kalıcı hale getirmek için /etc/sysctl.conf dosyasına ekleyin.
3. IPsec kullanmıyorsanız modülleri devre dışı bırakın
# /etc/modprobe.d/blacklist-ipsec.conf
blacklist esp4
blacklist esp6
blacklist rxrpc# /etc/modprobe.d/blacklist-ipsec.conf
blacklist esp4
blacklist esp6
blacklist rxrpc4. Page cache'i temizleyin Önlem olarak mevcut cache'i boşaltın:
echo 3 > /proc/sys/vm/drop_cachesecho 3 > /proc/sys/vm/drop_cachesSonuca varacak olursak;
"DirtyFrag Ailesi Büyümeye Devam Ediyor."
DirtyFrag'ın açıklandığından bu yana yalnızca birkaç haftada, aynı kernel ilkelini farklı yollardan exploit eden birden fazla varyant ortaya çıktı. Bu durum, yüzeysel patchler uygulamanın yetmediğini. Asıl sorunun sınıf genelinde çözülmesi gerektiğini açıkça gösteriyor.
JFrog'un araştırması, şu ana kadar kamuya açık bir PoC exploit bulunmadığını ortaya koyuyor. Ekip, patchleri dağıtımlar tarafından tam anlamıyla yaygınlaşanadek exploit kodunu yayımlamayacak. Ancak bir araştırmacının kafasında oluşabiliyorsa, başkalarının da aynı yola ulaşması yalnızca zaman meselesi.
Sisteminizi güncel tutun. Gereksiz kernel modüllerini kapatın. Ve DirtyFrag ailesinin bir sonraki üyesini bekleyin, çünkü bu seri henüz bitmemiş görünüyor. Ve devamı gelecek gibi duruyor.
"Konuyla ilgili JFrog'un özgün araştırma yazısına buradan ulaşabilirsiniz."