
Kısa cevap: Her Linux sunucusu bu açıklardan etkilenmez. KSMBD desteğinin bulunması, modülün yüklü olması ve hizmetin ağ üzerinden erişilebilirliği ayrı ayrı kontrol edilmelidir. PHP güvenlik ayarları bu açıkları kapatmaz.
Bilgilendirme tarihi: 23 Ekim 2026. Güvenlik yamalarının durumu dağıtım sağlayıcılarına göre değişebilir.
KSMBD nedir?
KSMBD, Linux çekirdeği içinde çalışan bir SMB dosya paylaşım sunucusudur. SMB protokolü, cihazlar arasında dosya ve klasör paylaşımı gibi işlemlerde kullanılır.
KSMBD ve Samba farklı bileşenlerdir. Sunucuda Samba bulunması veya TCP 445 portunun açık olması, tek başına KSMBD kullanıldığı anlamına gelmez. DirectAdmin, Nginx veya Apache kullanılması da KSMBD’nin etkin olduğunu göstermez.
Bildirilen KSMBD güvenlik açıkları neler?
22 Ekim 2026 tarihli güvenlik haberinde, ZDI tarafından CVSS 9.0 seviyesinde değerlendirilen iki rapor ele alınıyor:
| Güvenlik raporu | Etki alanı | Temel risk |
|---|---|---|
| ZDI-CAN-33774 | KSMBD protokol işleme | Kimlik doğrulaması öncesinde tetiklenebilen bellek güvenliği hatası. |
| ZDI-CAN-33549 | SMB Direct ve RDMA | RDMA, yazılabilir paylaşım ve SMB Direct kullanımı gerektiren bellek taşması. |
Bu raporlar uzaktan kod çalıştırma riskiyle ilişkilendiriliyor. Etkilenme durumu, sunucudaki kernel yapılandırmasına ve KSMBD kullanımına bağlıdır.
Önemli: PHP güncellemesi veya session.upload_progress.enabled = Off ayarı, KSMBD güvenlik açıklarını kapatmaz. Daha önce kernel güncellemesi yapılmış olması da bu iki rapora ilişkin düzeltmelerin kurulu olduğunu tek başına kanıtlamaz.
Hangi Linux sunucular kontrol edilmeli?
Özellikle Linux üzerinden SMB dosya paylaşımı sağlayan sistemler, NAS çözümleri ve özel kernel kullanan sunucular kontrol edilmelidir. VPS, VDS ve dedicated sunucularda da aynı kontrol uygulanabilir.
Red Hat’in 23 Ekim 2026 tarihli açıklamasına göre, dağıttığı RHEL sürümleri KSMBD kodunu içermediğinden bu açıklardan etkilenmiyor. Farklı dağıtımlarda ve sonradan kurulan özel kernellerde ise sunucu üzerinde doğrulama yapılmalıdır.
1. Sunucuda KSMBD kullanımını kontrol edin
Aşağıdaki komutlar yapılandırmayı değiştirmeden bilgi toplar. Root hesabıyla çalıştırabilirsiniz. Normal kullanıcı hesabında ayrıntılı işlem bilgilerini görmek için bazı komutlarda sudo gerekebilir.
echo "=== SUNUCU VE KERNEL ==="
hostname
uname -r
echo "=== KERNEL KSMBD DESTEĞI ==="
grep 'CONFIG_SMB_SERVER' "/boot/config-$(uname -r)"
echo "=== KSMBD MODUL BILGISI ==="
modinfo ksmbd 2>&1 | head -n 8
echo "=== YUKLU KSMBD MODULU ==="
lsmod | awk 'NR==1 || $1=="ksmbd"'
echo "=== KSMBD SERVISLERI ==="
systemctl list-units --all --no-pager | grep -i ksmbd
echo "=== TCP 445 DINLEYICILERI ==="
ss -lntp 'sport = :445'Kontrol sonuçları nasıl yorumlanır?
| Çıktı | Anlamı |
|---|---|
# CONFIG_SMB_SERVER is not set | Kontrol edilen kernel yapılandırmasında KSMBD desteği kapalı. |
CONFIG_SMB_SERVER=m | KSMBD yüklenebilir modül olarak derlenmiş. Bu sonuç, modülün çalıştığını göstermez. |
CONFIG_SMB_SERVER=y | KSMBD doğrudan kernele derlenmiş. Aşağıdaki modprobe engelleme yöntemi bu duruma uygulanamaz. |
Module ksmbd not found | Çalışan kernel için KSMBD modül dosyası bulunamadı. Kernel yapılandırmasıyla birlikte değerlendirilmelidir. |
lsmod çıktısında ksmbd | KSMBD modülü yüklü. |
| TCP 445 üzerinde dinleyici | Bir SMB hizmeti çalışıyor olabilir. Hangi uygulamanın dinlediği ayrıca belirlenmelidir. |
Kernel yapılandırma dosyasının bulunamaması veya komutların hata vermesi, sunucunun etkilenmediği anlamına gelmez. Belirsiz sonuçlarda dağıtım belgeleri ve kernel paketinin yapılandırması incelenmelidir.
2. Kullanılmayan KSMBD modülünü devre dışı bırakın
Aşağıdaki adımlar, KSMBD’nin modül olarak bulunduğu ve kullanılmadığı sistemler içindir.
Dosya paylaşımına dikkat: Aktif KSMBD servislerini durdurmak, bu hizmet üzerinden yapılan dosya paylaşımını keser. İşlem öncesinde sunucunun kullanım amacını ve uygulama bağımlılıklarını kontrol edin.
Modprobe engelleme dosyasını oluşturun
Aşağıdaki komut, aynı dosya mevcutsa yedeğini alır ve KSMBD için engelleme kurallarını oluşturur:
sudo sh -c '
set -e
conf_file=/etc/modprobe.d/99-disable-ksmbd.conf
if [ -e "$conf_file" ]; then
cp -a "$conf_file" "${conf_file}.bak.$(date +%Y%m%d-%H%M%S)"
fi
printf "%s\n" \
"blacklist ksmbd" \
"install ksmbd /bin/false" > "$conf_file"
chmod 644 "$conf_file"
'Varsa KSMBD servislerini durdurun
for service in ksmbd.service ksmbd.mountd.service; do
if systemctl cat "$service" >/dev/null 2>&1; then
sudo systemctl disable --now "$service"
fi
doneServis adları kurulum yöntemine göre değişebilir. KSMBD özel bir servis, konteyner veya başlangıç betiği üzerinden çalıştırılıyorsa ilgili başlatma mekanizması da incelenmelidir.
Yüklü KSMBD modülünü kaldırın
if lsmod | awk '$1=="ksmbd" {found=1} END {exit !found}'; then
sudo modprobe -r ksmbd
fi“Module is in use” hatası alınırsa zorla kaldırmayın. Modülü kullanan servisleri ve aktif bağlantıları inceleyin. Bu işlem tamamlanmadan modülün devre dışı kaldığını kabul etmeyin.
3. Engellemenin uygulandığını doğrulayın
echo "=== YUKLU MODUL KONTROLU ==="
lsmod | awk 'NR==1 || $1=="ksmbd"'
echo "=== BLACKLIST SIMULASYONU ==="
modprobe --use-blacklist --dry-run --verbose ksmbd
echo "Test sonucu: $?"
echo "=== ACILISTA YUKLEME TANIMLARI ==="
grep -RnsE '^[[:space:]]*ksmbd([[:space:]]|$)' \
/etc/modules /etc/modules-load.d /usr/lib/modules-load.d \
2>/dev/null
echo "=== SMB PORT KONTROLU ==="
ss -lntp 'sport = :445'Kontrolde şu sonuçlar beklenir:
lsmodçıktısındaksmbdsatırı bulunmaması.- Blacklist simülasyonunda KSMBD için yükleme adımı oluşmaması ve test sonucunun
0olması. - İncelenen açılış dosyalarında KSMBD yükleme tanımı bulunmaması.
- KSMBD hizmetinin dinlememesi; TCP 445 açık kalıyorsa dinleyen uygulamanın belirlenmesi.
Bazı sistemlerde softdep kuralları, install ksmbd /bin/false kuralından öncelikli olabilir. Bu nedenle kontrol komutunda --use-blacklist seçeneği kullanılır. Dosyanın oluşturulmuş olması tek başına yeterli doğrulama değildir.
Bu işlem bir kernel yaması değildir. Kullanılmayan KSMBD bileşeninin etkinleşmesini önlemeye yardımcı olur. Blacklist, yetkili bir kullanıcının doğrudan modül yüklemesine karşı mutlak bir kilit sağlamaz. Özel başlangıç mekanizmaları ve initramfs yapılandırması ayrıca değerlendirilmelidir.
KSMBD kullanılması gerekiyorsa ne yapılmalı?
KSMBD üzerinden dosya paylaşımına devam edilmesi gerekiyorsa, kullanılan Linux dağıtımının bu iki güvenlik raporuna ilişkin açıklamaları takip edilmelidir.
- Dağıtım sağlayıcısının bu açıkları giderdiğini belirttiği kernel paketlerini uygulayın.
- Yeni kernel kurulumu sonrasında gerekli yeniden başlatmayı planlayın.
- Yeniden açılışta
uname -rile çalışan kernel sürümünü doğrulayın. - SMB erişimini yalnızca gerekli istemciler ve güvenilir ağlarla sınırlandırın.
- KSMBD hizmetinin internete doğrudan erişilebilirliğini kaldırın veya kısıtlayın.
Yalnızca kernel sürüm numarasına bakarak “güvenlik açığı kapandı” sonucuna varmayın. Dağıtımlar düzeltmeleri mevcut sürümlere geriye dönük olarak uygulayabilir; ilgili güvenlik duyurusu ve paket bilgisi esas alınmalıdır.
VPS, VDS ve dedicated sunucu kullanıcılarına hatırlatma
Self-servis sunucu hizmetlerinde misafir işletim sistemi, kernel ve uygulama güvenlik güncellemelerinin takibi sunucu yöneticisinin sorumluluğundadır. Bir sunucuda yapılan kontrol, diğer sunucuların durumunu göstermez.
Birden fazla sunucu kullanıyorsanız kontrolleri her sunucuda ayrı ayrı gerçekleştirin. Bakım öncesinde güncel yedeklerinizin bulunduğunu ve gerektiğinde sunucu konsoluna erişebildiğinizi doğrulayın.
Sık sorulan sorular
DirectAdmin kullanıyorum; bu açıklardan etkilenir miyim?
DirectAdmin kullanılması tek başına etkilenme göstergesi değildir. Kernelin KSMBD desteği ve bileşenin çalışma durumu kontrol edilmelidir.
KSMBD modülü mevcut ama yüklü değilse ne anlama gelir?
Modülün diskte bulunması, dosya paylaşım hizmetinin çalıştığını göstermez. KSMBD kullanılmıyorsa otomatik yüklemeye karşı önlem alınması ve başlangıç tanımlarının kontrol edilmesi önerilir.
TCP 445 portunun kapalı olması yeterli mi?
Tek başına yeterli değildir. Modülün yüklenme durumu, servisler, dinleme adresleri ve ağ erişim kuralları birlikte değerlendirilmelidir.
PHP güvenlik güncellemesi KSMBD açıklarını da kapatır mı?
Hayır. PHP ve KSMBD farklı bileşenlerdir. PHP için yapılan güncellemeler veya upload progress ayarı, bu kernel bileşenindeki açıkları gidermez.
Bu işlemler için sunucuyu yeniden başlatmak gerekir mi?
KSMBD zaten yüklü değilse yalnızca modprobe kuralı oluşturmak için reboot gerekmez. Kernel güncellemesi, erken açılışta modül yükleme veya kaldırılamayan aktif modül gibi durumlarda ek işlem ve yeniden başlatma gerekebilir.
KSMBD modülü bulunamıyorsa sunucu tamamen güvenli midir?
Hayır. Bu kontrol yalnızca KSMBD ile ilgili değerlendirmeye yardımcı olur. Diğer kernel, PHP, web sunucusu ve uygulama açıkları için ayrı güvenlik kontrolleri gerekir.
Kaynaklar
- The Hacker News: Linux KSMBD güvenlik açıkları
- Red Hat: KSMBD güvenlik raporlarına ilişkin açıklama
- Kmod: modprobe yapılandırması, blacklist ve softdep kuralları
Sunucularınızdaki güvenlik kontrollerini ertelemeyin
Kullanılmayan servisleri kapatın, dağıtımınızın güvenlik duyurularını takip edin ve güncelleme sonrasında çalışan sürümleri doğrulayın.