Node.js Güvenlik Açığı (CVE-2026-111497): cPanel, CloudLinux, LiteSpeed ve Plesk İçin ModSecurity Koruması

GÜVENLİK REHBERİ • EKİM 2026

Node.js Güvenlik Açığı (CVE-2026-111497): cPanel, CloudLinux, LiteSpeed ve Plesk Koruması

Node.js güvenlik duyurusunda açıklanan Brotli güvenlik riskine karşı cPanel, CloudLinux, LiteSpeed ve Plesk sunucularında ModSecurity ile geçici koruma nasıl uygulanır? SSH komutları, test yöntemleri ve geri alma adımlarıyla kapsamlı rehber.

Önemli güvenlik uyarısı: Bu rehberdeki ModSecurity kuralı Node.js güvenlik açığını tamamen kapatmaz.Gelen HTTP isteklerinde Content-Encoding: br kullanımını engelleyerek belirli bir saldırı yolunu sınırlandırır.Kalıcı çözüm, güvenlik düzeltmesi içeren Node.js sürümünü veya doğrulanmış üretici yamasını kullanmaktır.

1. Node.js güvenlik açığı nedir?

Node.js tarafından 21 Ekim 2026 tarihinde yayımlanan güvenlik duyurusunda birden fazla güvenlik açığı açıklanmıştır.

Bunlardan CVE-2026-111497, Brotli sıkıştırılmış verilerin işlenmesiyle ilişkili bir güvenlik açığıdır.Belirli koşullarda bellek güvenliğinin bozulmasına ve uzaktan kod çalıştırma riskine neden olabilir.

Açık, resmî duyuruya göre Node.js 22.x, 24.x ve 26.x sürüm ailelerini etkilemektedir.

Node.js SürümüGüvenlik Düzeltmesi
Node.js 22.x22.23.4
Node.js 24.x24.22.1
Node.js 26.x26.12.1

Node.js 20 ve daha eski sürümlerin resmî güvenlik desteği sona ermiştir.Eski sürümleri kullanıyorsanız CloudLinux gibi dağıtım sağlayıcılarının sunduğu güvenlik düzeltmelerini ayrıca kontrol edin.

2. ModSecurity ile geçici koruma

ModSecurity, gelen HTTP isteklerinin başlıklarını inceleyebilir ve belirli kurallara uymayan istekleri engelleyebilir.

Aşağıdaki kural, Content-Encoding: br başlığını taşıyan HTTP isteklerinin sunucuya ulaşmasını engellemek için kullanılabilir.

Bu tür istekler engellendiğinde HTTP 415 yanıtı döndürülür.

ModSecurity güvenlik kuralı

MODSECURITY KURALI
SecRule REQUEST_HEADERS:Content-Encoding "@rx (?i)(^|,)\s*br\s*(,|$)" "id:100111497,phase:1,deny,status:415,log,msg:'Reject Brotli compressed request bodies'"
Bilgi: Bu kural yalnızca gelen HTTP istekleri için geçerlidir.Node.js’in dış kaynaklardan indirdiği Brotli yanıtlarını veya uygulamanın farklı yollarla işlediği sıkıştırılmış verileri engellemez.Ayrıca bazı uygulamaların sıkıştırılmış veri yükleme işlemlerini etkileyebilir.

3. cPanel / WHM üzerinden kurulum

cPanel, CloudLinux ve WHM kullanan sunucularda ModSecurity kuralları WHM panelinden yönetilebilir.

  1. WHM paneline root olarak giriş yapın.
  2. Security Center bölümünü açın.
  3. ModSecurity Tools sayfasına girin.
  4. Rules List bölümünü açın.
  5. Add Rule seçeneğine tıklayın.
  6. Yukarıdaki ModSecurity kuralını ilgili alana yapıştırın.
  7. Kuralı etkinleştirip kaydedin.
  8. Gerekli yapılandırma dağıtımını tamamlayın.
LiteSpeed kullananlar: WHM ile entegre çalışan LiteSpeed Web Server, ModSecurity kurallarını desteklemektedir.Bu nedenle WHM üzerinden eklenen kural LiteSpeed üzerinde de kullanılabilir.Kuralın gerçekten devreye girdiği HTTP 415 testiyle doğrulanmalıdır.

4. Plesk panelinden kurulum

Plesk kullanan sunucularda aynı ModSecurity kuralı yönetim panelinden eklenebilir.

  1. Plesk yönetim paneline giriş yapın.
  2. Tools & Settings bölümünü açın.
  3. Web Application Firewall (ModSecurity) bölümüne girin.
  4. Settings ekranını açın.
  5. Custom Directives alanını bulun.
  6. Mevcut kuralları silmeden yeni ModSecurity kuralını ekleyin.
  7. Değişiklikleri kaydedin.
Nginx kullanıcıları: ModSecurity yalnızca Apache katmanında çalışıyorsa Nginx tarafından doğrudan işlenen bazı istekler bu kurala uğramayabilir.Gerçek alan adınız üzerinden test gerçekleştirin.

5. Plesk SSH üzerinden kural ekleme

Plesk sunucularında ModSecurity yapılandırması SSH üzerinden de yönetilebilir.Aşağıdaki işlemler root yetkisiyle gerçekleştirilmelidir.

Adım 1: ModSecurity durumunu kontrol edin

SSH – DURUM KONTROLÜ
plesk bin server_pref --show-web-app-firewall

Bu komut Plesk sunucusunun Web Application Firewall yapılandırmasını gösterir.

Adım 2: Güvenlik kuralı dosyasını oluşturun

SSH – KURAL DOSYASI
cat > /root/nodejs-brotli-rule.conf <<'EOF'
SecRule REQUEST_HEADERS:Content-Encoding "@rx (?i)(^|,)\s*br\s*(,|$)" "id:100111497,phase:1,deny,status:415,log,msg:'Reject Brotli compressed request bodies'"
EOF

Bu komut /root/nodejs-brotli-rule.conf isimli dosyayı oluşturur.

Adım 3: Plesk üzerinde kuralı etkinleştirin

SSH – KURALI UYGULA
plesk bin server_pref --update-web-app-firewall -waf-rule-engine on -waf-additional-settings /root/nodejs-brotli-rule.conf
Dikkat: Bu komut WAF kural motorunu engelleme moduna getirir.Önceden yalnızca izleme modunda çalışan başka ModSecurity kuralları varsa onların davranışı da değişebilir.Mevcut özel kuralları ve ayarları yedeklemeden işlem yapmayın.Var olan kuralları korumak için Plesk panelinin Custom Directives alanından ekleme yapmak daha kolay denetlenebilir.

6. Güvenlik kuralını test edelim

Kural eklendikten sonra SSH üzerinden curl kullanarak kontrol yapılabilir.

Test komutundaki ornekalanadi.com bölümünü sunucuda barındırdığınız alan adıyla değiştirin.

Brotli isteği gönderme testi

SSH – HTTP 415 TESTİ
curl -sS -o /dev/null -w "HTTP %{http_code}\n" -H "Content-Encoding: br" https://ornekalanadi.com/
Beklenen sonuç:

HTTP 415

Bu yanıt test isteğinin engellendiğini gösterir.Ancak isteğin özellikle eklediğimiz ModSecurity kuralından dolayı engellendiğini log kayıtlarıyla doğrulamak gerekir.

Normal bağlantı testi

SSH – NORMAL HTTP TESTİ
curl -sS -o /dev/null -w "HTTP %{http_code}\n" https://ornekalanadi.com/

Normal isteklerde web sitenizin beklenen HTTP yanıtını almalısınız.Örneğin 200, 301 veya 302.

Sadece Brotli başlığı içeren isteklerin engellenmesi beklenmektedir.

7. ModSecurity log kontrolü

Kuralın gerçekten çalıştığını anlamak için ModSecurity log kayıtlarını inceleyebilirsiniz.

Plesk log sorgulama

SSH – LOG KONTROLÜ
grep '100111497' /var/log/modsec_audit.log 2>/dev/null | tail -5

Komut boş sonuç döndürürse ModSecurity kayıt dosyasının konumu farklı olabilir.Ayrıca WHM üzerinden ModSecurity Tools → Hits List ekranını kontrol edebilirsiniz.

8. Kuralı geri alma

Uygulamalarda uyumluluk sorunu yaşanması durumunda ilgili kuralı devre dışı bırakabilirsiniz.

cPanel / WHM

  1. WHM → ModSecurity Tools bölümünü açın.
  2. Rules List sayfasına girin.
  3. 100111497 ID’li kuralı bulun.
  4. Kuralı devre dışı bırakın veya silin.
  5. Yapılandırmayı yeniden uygulayın.

Plesk

  1. Tools & Settings bölümünü açın.
  2. Web Application Firewall sayfasına girin.
  3. Custom Directives alanındaki ilgili kural satırını kaldırın.
  4. Değişiklikleri kaydedin.
Yalnızca eklenen kuralı kaldırın.Tüm ModSecurity sistemini devre dışı bırakmanız önerilmez.SSH ile kural eklediyseniz yalnızca kaynak dosyasını silmek aktif yapılandırmadan kuralı kaldırmayabilir.

9. CloudLinux Node.js sürüm kontrolü

CloudLinux Node.js Selector kullanan sunucularda yüklü Node.js paketleri SSH üzerinden kontrol edilebilir.

Kurulu paketleri listeleme

SSH – NODE.JS PAKETLERİ
rpm -qa | grep '^alt-nodejs' | sort

CloudLinux 7 güncelleme kontrolü

SSH – GÜNCELLEME KONTROLÜ
yum check-update 'alt-nodejs*'

Bu komutlar yalnızca mevcut paketleri ve depolarda bulunan güncellemeleri kontrol eder.Node.js sürümünü değiştirmez.

Önemli: Güncelleme görünmemesi sistemin tüm güvenlik açıklarından arındırıldığı anlamına gelmez.Güvenlik yamalarının durumunu CloudLinux paket duyurularından kontrol etmek gerekir.

10. Sonuç: Node.js güvenlik açığı kapandı mı?

ModSecurity üzerinden uyguladığımız koruma belirli HTTP isteklerinin sunucuya ulaşmasını engelleyebilir.

Fakat Node.js içerisindeki güvenlik açığını ortadan kaldırmaz.

Özellikle Brotli kullanan uygulamalar, dış HTTP istemcileri, DNS, TLS ve HTTP işleme bileşenleri için ayrı güvenlik değerlendirmeleri yapılmalıdır.

Önerilen yaklaşım:
  • Geçici WAF korumalarını uygulayın.
  • HTTP 415 testiyle etkinliğini doğrulayın.
  • CloudLinux paket yamalarını kontrol edin.
  • Uygulama uyumluluk testleri yapın.
  • Güvenlik düzeltmesi içeren Node.js paketlerine planlı geçiş yapın.

Resmî kaynaklar

Bu rehber güvenlik risklerini azaltmaya yönelik hazırlanmıştır. Yazılım güvenlik güncellemelerinin yerine geçmez.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir