Ekim 2026'da, Linux çekirdeğinde CVSS ölçeğinde 10 üzerinden 9.8 puan alan kritik bir güvenlik açığı ( CVE-2026-98432 ) bulundu. Bu açık, gelen IPv4 TCP bağlantılarının nasıl işlendiğini etkiliyor ve belirli koşullar altında, bir saldırganın sunucuya uzaktan root erişimi elde etmesine olanak tanıyor; bu erişim için parola gerekmiyor ve yöneticiden herhangi bir işlem yapılmasına da gerek yok.
Aşağıda kimlerin etkilendiği, sunucunuzu nasıl kontrol edeceğiniz ve nasıl koruyacağınız açıklanmaktadır. Tüm komutlar root olarak veya root yetkisiyle çalıştırılır. sudo.
Kısaca güvenlik açığı
- Ne olduğunu: IPv4 TCP bağlantılarını kuran kodda, yarış koşulundan kaynaklanan bir kullanım sonrası serbest bırakma hatası (use-after-free bug). Saldırgan, özel olarak hazırlanmış paketleri herhangi bir açık TCP portuna gönderir.
- Etkilenen çekirdekler: Linux 4.4'ten beri çıkan her sürüm, yani neredeyse mevcut tüm dağıtımlar.
- IPv6 Ana hatadan etkilenmiyor.
- Tehdidin gerçekliği ne kadar yüksek: Anthropic araştırmacıları, yaklaşık 53 dakika içinde Çoklu Yol TCP (MPTCP) etkinleştirilmiş bir sunucuda root erişimi sağlayan çalışan bir güvenlik açığı zinciri gösterdi. Güvenlik açığı kodu yayınlanmadı.
- Doğada meydana gelen saldırılar: 1 Kasım 2026 itibarıyla herhangi bir istismar vakası bildirilmemiştir. Bu, güncellemeyi ertelemek için değil, sakin bir şekilde güncellemek için bir nedendir.
Go servisleri ayrı bir risk taşır. Go 1.24'ten beri, Linux'taki sunucu programları, çekirdek izin verdiği sürece varsayılan olarak MPTCP üzerinden portları dinler. Bir yönetici, sunucusunun bu tür bağlantıları kabul ettiğini bilemeyebilir. Popüler programlar arasında Xray bu şekilde çalışır; geliştiricileri, varsayılan olarak MPTCP'yi devre dışı bırakan acil durum sürümü v26.10.31'i zaten yayınladılar.
Her VPS kendi çekirdeğini çalıştırır, bu nedenle sunucunuzdaki çekirdeği kendiniz güncellemeniz gerekir. Sanallaştırma düğümlerini kendimiz güncelliyoruz.
Sisteminiz için bir çözüm var mı?
1 Kasım 2026 itibariyle durum. Düzeltmeler neredeyse her gün yayınlanıyor — güncel durum için bu makalenin sonundaki bağlantıları kontrol edin.
| sistem | Durum | Çekirdek düzeltildi. |
|---|---|---|
| Debian 13 | Sabit | linux 6.12.113-1 |
| Debian 12 | Sabit | linux 6.1.190-1 |
| Ubuntu22.04, 24.04, 26.04 | Onarım çalışmaları devam ediyor. | Henüz değil — geçici korumayı kullanın |
| AlmaLinux 8, 9, 10 | Test deposunda düzeltme yapıldı. | 8: 4.18.0-553.180.2.el8_10 9: 5.14.0-687.61.2.el9_8 10: 6.12.0-211.69.2.el10_2 |
| Rocky Linux, RHEL 8, 9, 10 | Henüz bir çözüm bulunamadı. | Geçici korumayı kullanın. |
| Oracle Linux 7–10 (UEK) | Sabit | Standart bir güncelleme yoluyla |
| SUSE / openSUSE Leap 16 | Sabit | Standart bir güncelleme yoluyla |
Adım 1. Hangi çekirdeği çalıştırdığınızı kontrol edin.
Çalışmakta olan çekirdeğin sürümünü öğrenin:
uname -r
Sürüm numarası tek başına hiçbir şey ifade etmez: Dağıtımlar, temel sürümü değiştirmeden düzeltmeleri kendi çekirdeklerine geri aktarır. Çekirdek paketinin değişiklik günlüğünü kontrol etmek daha güvenilirdir; eğer CVE numarası belirtiliyorsa, düzeltme zaten yüklenmiştir.
Debian ve Ubuntu:
apt changelog linux-image-$(uname -r) 2>/dev/null | grep CVE-2026-98432
Debian'da, uname -v Bu komut ayrıca çalışan çekirdeğin tam paket sürümünü de gösterir: bunu yukarıdaki tabloyla karşılaştırın.
AlmaLinux, Rocky Linux, RHEL, Oracle Linux:
rpm -q --changelog kernel-core-$(uname -r) | grep CVE-2026-98432
Eğer komut hiçbir şey yazdırmazsa, çalışan çekirdek güvenlik açığına sahiptir.
Ardından, hangi servislerin MPTCP üzerinden bağlantı kabul ettiğini kontrol edin. Gösterilen saldırıda hedef alınan sunucular şunlardı:
ss -lnMp
Boş çıktı, MPTCP dinleyicilerinin olmadığı anlamına gelir.
Adım 2. Düzeltilmiş çekirdeği yükleyin.
Çekirdeği güncellemeden önce sunucunuzun yedeğini veya anlık görüntüsünü alın.
Debian 12 ve 13
Düzeltilmiş çekirdekler güvenlik deposunda bulunmaktadır. Etkinleştirildiğinden emin olun:
grep -r security.debian.org /etc/apt/sources.list /etc/apt/sources.list.d/
Hiçbir şey bulunamazsa, şunu ekleyin: security.debian.org Sürümünüz için depoyu oluşturun. Ardından sistemi güncelleyin:
apt update
apt full-upgrade
reboot
Ubuntu
Düzeltilmiş çekirdekler henüz yayınlanmadı. Güncellemeleri kontrol edin:
apt update
apt list --upgradable | grep linux-image
Sunucunuz Ubuntu Pro'ya bağlıysa, düzeltme planını inceleyebilirsiniz:
pro fix CVE-2026-98432 --dry-run
Düzeltme yayınlandıktan sonra yükleyin ve yeniden başlatın:
apt update
apt full-upgrade
reboot
O zamana kadar, 3. Adımdaki geçici korumayı mutlaka uygulayın.
AlmaLinux 8, 9, 10
Düzeltilmiş çekirdekler şu anda yalnızca test deposunda mevcuttur. Üretim sunucusunda bunu yapmaktan çekinmiyorsanız yükleyin ve güncellemeden önce bir anlık görüntü (snapshot) almayı unutmayın:
dnf install -y almalinux-release-testing
dnf update 'kernel*' --enablerepo=almalinux-testing
dnf config-manager --disable almalinux-testing
reboot
Yeniden başlattıktan sonra karşılaştırın. uname -r Yukarıdaki tabloda yer alan sürümlerle birlikte. Test paketlerini yüklemek istemiyorsanız, geçici korumayı uygulayın ve düzeltmenin ana depoya ulaşmasını bekleyin.
Rocky Linux ve diğer RHEL tabanlı sistemler
Henüz bir çözüm yok. Şunlarla takip edebilirsiniz:
dnf --refresh updateinfo info --all --cves CVE-2026-98432
Düzeltme yayınlandıktan sonra:
dnf update kernel
reboot
Güncelleme sonrasında: yeniden başlatma gereklidir.
Yeni çekirdek yalnızca yeniden başlatmanın ardından etkili olur. Yeniden başlatmanın gerekli olup olmadığını kontrol etmek için:
# Debian and Ubuntu
[ -f /var/run/reboot-required ] && echo "Reboot required"
# AlmaLinux, Rocky, RHEL
needs-restarting -r
Yeniden başlattıktan sonra, 1. adımdaki kontrolü tekrarlayın.
3. Adım. Düzeltilmiş bir çekirdek kullanıma sunulana kadar geçici koruma.
Bu önlemler riski azaltır ancak çekirdek güncellemesinin yerini tutmaz.
Tetikleyici paketleri engelle
Saldırı, IPv4 başlığında IP seçenekleri bulunan TCP paketlerini kullanıyor. Bunlar normal trafikte neredeyse hiç görünmez ve RFC 7126 zaten bunların düşürülmesini önermektedir. Aşağıdaki nftables kuralı, seçenek içeren tüm gelen IPv4 TCP paketlerini düşürür ve IPv6, UDP veya ICMP'yi etkilemez. ufw ve firewalld ile birlikte çalışır.
Eğer kurulu değilse nftables'ı kurun:
# Debian and Ubuntu
apt install -y nftables
# AlmaLinux, Rocky, RHEL
dnf install -y nftables
Kural dosyasını oluşturun:
cat > /etc/cve-2026-98432.nft <<'EOF'
table ip cve_2026_98432 {
chain pre {
type filter hook prerouting priority -300; policy accept;
meta l4proto tcp ip hdrlength gt 5 counter drop
}
}
EOF
Kuralın her yeniden başlatmanın ardından geri yüklenmesini sağlamak için bir systemd hizmeti oluşturun:
cat > /etc/systemd/system/cve-2026-98432.service <<'EOF'
[Unit]
Description=Mitigation for CVE-2026-98432
After=network-pre.target nftables.service firewalld.service ufw.service
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStartPre=-/usr/sbin/nft delete table ip cve_2026_98432
ExecStart=/usr/sbin/nft -f /etc/cve-2026-98432.nft
ExecStop=/usr/sbin/nft delete table ip cve_2026_98432
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable --now cve-2026-98432.service
Kuralın yüklendiğini kontrol edin:
nft list table ip cve_2026_98432
nftables hizmetini global bir komutla yeniden başlatırsanız flush ruleset kural, çalıştırmak systemctl restart cve-2026-98432 sonradan.
Önemli: Bu kuralı CIPSO etiketleri (SELinux veya Smack NetLabel) kullanan ağlarda uygulamayın; orada normalde IP seçenekleri kullanılır. Sunucunuz diğer makineler için trafik yönlendiriyorsa, kural IP seçenekleri içeren TCP paketlerini de düşürecektir.
İhtiyacınız yoksa MPTCP'yi devre dışı bırakın.
sysctl -w net.mptcp.enabled=0
echo "net.mptcp.enabled = 0" > /etc/sysctl.d/99-disable-mptcp.conf
Bu ayar yalnızca şunu engeller: yeni MPTCP soketlerinin oluşturulması engellenir. Zaten çalışan servisler MPTCP üzerinden dinlemeye devam edecektir, bu nedenle listede yer alan her servisi yeniden başlatın. ss -lnMp ve çıktısının artık boş olduğundan emin olun.
AlmaLinux'ta MPTCP, siz kendiniz etkinleştirmediğiniz sürece varsayılan olarak devre dışıdır.
Go programlarında MPTCP'yi devre dışı bırakın.
Go 1.24 veya daha yeni bir sürümle oluşturulmuş servisler için, MPTCP'yi bir ortam değişkeni kullanarak devre dışı bırakabilirsiniz. Örneğin, "MPTCP" adlı bir servis için. myservice:
systemctl edit myservice
Açılan dosyaya aşağıdakileri ekleyin:
[Service]
Environment=GODEBUG=multipathtcp=0
Ardından hizmeti yeniden başlatın:
systemctl restart myservice
Xray güncellemesi
Sunucunuzda Xray çalışıyorsa, v26.10.31 veya daha yeni bir sürüme güncelleyin. Önceki sürüm olan v26.10.29, geliştiricileri tarafından geri çekilmiştir. Bu güncelleme MPTCP'yi devre dışı bırakır ancak çekirdeği düzeltmez, bu nedenle çekirdek güncellemesi hala gereklidir.
Bir ayarı daha kontrol edin.
İkinci ve daha dar kapsamlı bir istismar yolu için istek geçişinin etkinleştirilmesi gerekiyor. Bu özellik varsayılan olarak kapalıdır; lütfen kapalı olduğundan emin olun:
sysctl net.ipv4.tcp_migrate_req
Komut şu çıktıyı vermelidir: 0.
Hizmetlerinize erişimi kısıtlayın
İnternetten erişilmesi gerekmeyen tüm güvenlik duvarı portlarını kapatın. Mümkün olduğunca, yönetim hizmetlerini (SSH, kontrol panelleri, veritabanları) yalnızca güvenilir IP adreslerine açın.
4. Adım. Düzeltilmiş çekirdeği yükledikten sonra
- Sunucuyu yeniden başlatın ve düzeltilmiş çekirdeğin çalıştığını doğrulamak için 1. Adımdaki komutları kullanın.
- Geçici kuralı kaldırabilirsiniz:
systemctl disable --now cve-2026-98432.service
rm /etc/systemd/system/cve-2026-98432.service /etc/cve-2026-98432.nft
systemctl daemon-reload - MPTCP'ye ihtiyacınız varsa, ayarı geri yükleyin: silin
/etc/sysctl.d/99-disable-mptcp.confve koşsysctl -w net.mptcp.enabled=1.
Eğer sorun çıkarsa
Çekirdek güncellemesinden sonra sunucunuz önyükleme yapmazsa, kontrol panelindeki VNC konsolu üzerinden bağlanın ve önyükleme menüsünden önceki çekirdeği seçin. Bunu kendiniz yapabileceğinizden emin değilseniz veya güncelleme konusunda yardıma ihtiyacınız varsa, destek ekibimizle iletişime geçin.