· kaynak Hacker News – Front Page (native)
GitHub projesi, aktif Linux çekirdeği zero-day açıklarına karşı sıfır kesintili eBPF ve seccomp savunmalarını ayrıntılandırıyor
Hacker News ana sayfasına çıkan bir GitHub projesi, üç CISA listesindeki Linux çekirdeği zero-day açığını host yeniden başlatması olmadan hafifleten katmanlı eBPF, seccomp, modül etkisizleştirme ve user namespace kontrollerini belgeliyor.
Hacker News ana sayfasına çıkan bir GitHub deposu, aktif bir çekirdek zero-day penceresi sırasında üretime açık Linux host'larını reboot yapmadan ayakta tutmak için bir defense-in-depth (derinlemesine savunma) kılavuzu belgeliyor. Yaklaşım; eBPF syscall telemetrisi, seccomp geçitleme, çekirdek modülü etkisizleştirme ve container user namespace'lerini bir araya getirerek eşzamanlı olarak sömürülen üç açığın etkisini telafi ediyor.
Sorun: Haftalarca süren yama boşluğu
Proje dokümantasyonuna göre üç açık — AF_ALG crypto netlink arayüzündeki CVE-2025-39964, netfilter'ın ebtables köprüleme kodundaki CVE-2026-53266 ve çekirdek TLS'teki CVE-2025-39682 — CISA'nın Bilinen Sömürülen Açıklar (Known Exploited Vulnerabilities) kataloğunda listelenmişti. Bu, operasyonel bir saat başlatıyor: README'ye göre, bir çekirdek hatasının halka açık şekilde silahlanması ile Ubuntu HWE, Debian ve RHEL gibi kurumsal dağıtımlardan test edilmiş, imzalı binary paketlerin kullanıma sunulması arasında genellikle yedi ila 21 gün geçiyor. Pasif bir şekilde beklemek kümeleri sömürüye açık bırakıyor; acil çekirdek yükseltmeleri ve yeniden başlatmalar ise kesinti riski taşıyor — bu, Kubernetes filoları için özellikle hassas bir dengedir.
Üç açık, üç savunma modu
Framework, her hafifletmeyi alt sisteme göre değil güvenlik özelliğine göre sınıflandırıyor. Köprü ARP tablosu yeniden yazma kurallarında aritmetik taşma olarak tanımlanan CVE-2026-53266 için önleme uygulanıyor: savunmasız ebtables modülleri çekirdek belleğinden çıkarılıyor ve yeniden yüklenmeleri engelleniyor. Netlink crypto socket tahsisatında tamsayı kesme (integer truncation) olan ve dokümantasyonda yerel yetki yükseltme ile container kaçışı için yüksek ciddiyet olarak derecelendirilen CVE-2025-39964 için tespit ve geçitleme uygulanıyor: eBPF kuralları domain 38 (AF_ALG) kullanan socket() çağrılarını izliyor ve seccomp bunları eşzamanlı olarak reddedebiliyor. kTLS'te sıfır uzunluklu kayıt işleme hatası olan CVE-2025-39682 ise hem TCP_ULP bağlanma aşamasında hem de SOL_TLS yapılandırma aşamasında setsockopt() çağrıları izlenerek tespit ediliyor.
Önce çıkar, sonra mühürle
Projenin vurguladığı operasyonel bir nüans: bir install komutunu /bin/true'a yönlendirmek gibi bir modprobe.d override'ı yalnızca gelecekteki yükleme girişimlerini engeller. Köprü ağ geçidi — Docker veya eski bir CNI — ebtables'ı host'un yaşam döngüsünün erken dönemlerinde yüklediyse, savunmasız kod çekirdek RAM'inde yerleşik olarak kalır. Bu nedenle etkisizleştirme iki adım gerektirir: yerleşik modülleri modprobe -r ile boşaltın, sonra yeniden yüklenmeyi önleyen loader override'larını ve blacklist girişlerini yazın. README, sonrasında yapılan açık modprobe denemelerinin bellekte hiçbir ebtables modülü bırakmadığını gösteren doğrulama komutlarını içeriyor.
eBPF tespiti ve kTLS iki aşama tuzağı
Tespit, sys_enter tracepoint'ini yakalayan ve çekirdek kontrol akışını değiştirmeden olayları bir ring buffer'a iten Falco'nun eBPF motoru üzerinden çalışıyor; dokümantasyon bunu milisaniye altı uyarı olarak tanımlıyor. Eşzamanlı reddin gerekli olduğu durumlarda proje, çalıştırılmadan önce syscall'ı düşüren bir eBPF LSM probe'una veya bir seccomp profiline işaret ediyor.
kTLS kuralları, yazarın yapılması kolay bir hata olarak belirttiği ince bir hatayı düzeltiyor. Bir TCP bağlantısında çekirdek TLS'in etkinleştirilmesi iki aşamada gerçekleşir: önce ULP setsockopt(fd, SOL_TCP, TCP_ULP, "tls") ile bağlanır, sonra anahtarlar SOL_TLS üzerinden yapılandırılır. Yalnızca SOL_TLS'e filtre uygulayan bir kural bağlanma aşamasını kaçırır; bu yüzden depodaki Falco kuralları her ikisini de eşleştiriyor.
README ayrıca sahadan gelen bir kararlılık düzeltmesini de kaydediyor: Linux 7.0+ HWE çekirdeklerinde Falco'nun userspace inspector'ının openat parametrelerini ayrıştıramadığı ve exception fırlattığı bildiriliyor; bu yüzden DaemonSet, crash döngülerinden kaçınmak için temel syscall setinden openat'ı çıkarıyor.
Tepki hattı ve kapsama
Uyarılar, Falco ve Falcosidekick'ten bir forwarder daemon'u üzerinden NATS mesaj veri yoluna akıyor; bu veri yolu da otomatik bir bouncer'ı — CrowdSec veya nftables drop kuralları — ve düğümler arasında çoğaltılan SHA-256 hash zincirlerinden oluşan kurcalamaya karşı kanıtlanabilir bir denetim defterini besliyor. Kapsama için tasarım, tespit katmanlarını containerd v2.2.4 user namespace remapping ile eşleştiriyor; böylece bir container'ın UID 0'ı yüksek ayrıcalıksız bir host UID'sine (örnekte 4050714624) eşleniyor ve ele geçirilmiş bir container root'unun host üzerinde yapabilecekleri sınırlanıyor.
Neden önemli
Bu bir telafi edici kontroller kılavuzudur, yamalamanın替代 değildir: buradaki hiçbir şey temeldeki hataları düzeltmiyor ve bu, satıcı destekli bir ürün değil, kendi kendine yayımlanmış tek bir vaka çalışması. Ops ekipleri için değeri, bir çekirdek zero-day sömürülürken ama imzalı paketler henüz mevcut değilken geçilen pencere için somut, uyarlanabilir bir şablon olmasıdır. Onu inandırıcı kılan ayrıntılar genellikle zor yoldan öğrenilenlerdir — blacklist dosyaları bellekte zaten yüklü modülleri boşaltmaz, kTLS filtreleri her iki setsockopt aşamasını da kapsamalıdır ve tespit araçlarının kendisi daha yeni çekirdeklerde bozulabilir. Kubernetes veya büyük Linux filoları çalıştıran herkes için çıkarılacak ders katmanlı yapıdır: yapabildiğinizi etkisizleştirin, yapamadığınızı tespit edip geçitleyin ve yine de sızan her şeyi kapsayın.
- #ebpf
- #linux-kernel
- #security
- #kubernetes
- #falco
İlgili yazılar
- CISA, Linux çekirdeğindeki AF_ALG, ebtables ve kTLS açıklarının aktif olarak sömürüldüğüne işaret ediyor
- Discourse forum açığı, araştırmacıların OpenAI'nin iç işlerine uzanan bir saldırı zinciri kurmasına reportedly izin verdi
- CERT-In notu 14 ISC BIND CVE'sini bellek, kaynak ve güven kusuru sınıflarına ayırıyor