Kritik NGINX Güvenlik Açıkları: Panel ve Lisansları Bozmadan Sıfır Gün Zırhlama Rehberi

Web dünyasında internet trafiğinin büyük bir kısmını sırtlayan NGINX için yayımlanan son güvenlik bülteni, worker süreçlerini ve bellek yönetimini doğrudan etkileyen kritik zafiyetleri ortaya çıkardı.

Özellikle canlı (production) ortamlarda Plesk veya cPanel gibi kontrol panelleriyle çalışan, havuz lisans kullanan ya da paneli doğrudan majör sürüme yükseltemeyen sistem yöneticileri için bu durum ciddi bir ikilem yaratıyor. Bu rehberde; açığın teknik arka planını, standart sunucularda resmi güncellemeyi, cPanel/Plesk ayrımını ve paneli güncellemeden sistemleri sıfır kesintiyle nasıl zırhlayabileceğinizi paylaşıyoruz.

1. Açıkların Teknik Arka Planı: Risk Nerede Başlıyor?

Kapatılan güvenlik açıkları ağırlıklı olarak bellek yönetimi (Memory Corruption) ve girdi filtreleme katmanlarında yer alıyor:

  • CVE-2026-97205 (Use-After-Free): Asenkron dosya I/O (aio) ve Server Side Includes (ssi) direktifleri birlikte aktifken oluşur. Boşaltılmış bellek alanına yeniden referans verilmesi sonucu worker çökebilir (DoS) veya uygun şartlarda uzaktan kod çalıştırma (RCE) riski doğar.
  • CVE-2026-15176 (Heap Buffer Overflow): alias direktifi ile rewrite kurallarının ve $request_filename değişkeninin birlikte kullanıldığı sanal sunucu (vhost) bloklarında tetiklenen bellek taşmasıdır.
  • CVE-2026-93479 (Heap Buffer Overflow): map direktifinde isimsiz yakalama grupları ($1, $2) ve regex eşleşmeleri kullanıldığında belleği bozan taşma zafiyetidir.

Düzeltmenin yer aldığı ana kararlı sürümler: NGINX 1.30.6 ve NGINX 1.31.7.

2. Standart (Panel Olmayan) Sunucularda Resmi Güncelleme

Eğer sunucunuzda bir kontrol paneli bulunmuyorsa, NGINX doğrudan işletim sisteminin depolarından servis edilir.

Ubuntu / Debian

# 1. Mevcut sürümü doğrula
nginx -v

# 2. Paket listesini tazele ve sadece NGINX paketini yükselt
sudo apt update
sudo apt --only-upgrade install nginx -y

# 3. Konfigürasyonu test et ve servisi yeniden yükle
sudo nginx -t && sudo systemctl reload nginx

Backport Kontrolü: Ubuntu/Debian gibi dağıtımlar sürüm numarasını değiştirmeden güvenlik yamasını mevcut pakete entegre edebilir. Doğrulamak için:

apt changelog nginx | grep -E 'CVE-2026-97205|CVE-2026-15176'

AlmaLinux / Rocky Linux / RHEL

# 1. Sürümü kontrol et
nginx -v

# 2. Depolardaki güncellemeyi çek
sudo dnf check-update nginx
sudo dnf update nginx -y

# 3. Test et ve servisi tazele
sudo nginx -t && sudo systemctl reload nginx

3. Panel Dünyasında NGINX: Plesk ve cPanel Neden Farklı Davranır?

Sunucunuzda Plesk veya cPanel varsa, standart apt/dnf update nginx komutları ya “Package not installed” hatası verir ya da hiçbir işlem yapmaz.

  • Plesk Ortamı: NGINX paketini sw-nginx adıyla kendi derler ve repoları kurulu Plesk sürümüne kilitler (örneğin Obsidian 18.0.65 veya 18.0.81). Panel güncellenmeden dnf update sw-nginx komutu depoya yama düşene kadar “Nothing to do” döndürür.
  • cPanel Ortamı: NGINX genellikle EasyApache 4 üzerinden ea-nginx paketiyle yönetilir. Güncelleme işletim sistemi depoları yerine cPanel’in EA4 depoları üzerinden akar.

Paneli veya EasyApache profilini majör bir yükseltmeye sokmadan zırhlama yapmak her iki panelde de en risksiz yoldur.

4. Paneli Güncellemeden Sıfır Kesintiyle Zırhlama (Mitigation)

Saldırganların bellek açıklarını exploit edebilmesi için belirli modüllerin açık olması şarttır. Bu tetikleyicileri global düzeyde kapatarak açığı tamamen etkisiz hale getirebiliriz.

Adım 1: Zafiyet Tetikleyicilerini Global Olarak Kapatın

Aşağıdaki komutla NGINX global yapılandırmasına bir koruma kuralı bırakın:

echo -e "aio off;\nssi off;" > /etc/nginx/conf.d/security_mitigation.conf

(cPanel üzerinde Engintron gibi harici eklentiler varsa bu dosya /etc/nginx/conf.d/ dizininde aynı şekilde çalışır).

Adım 2: Konfigürasyonu Doğrulayın ve NGINX’i Yeniden Yükleyin

Plesk veya cPanel vhost yapısını riske atmamak için önce sözdizimi testi yapın, ardından servisi reload edin:

nginx -t && systemctl reload nginx

Konsolda syntax is ok ve test is successful çıktısını görüyorsanız koruma devrededir.

Adım 3: Vhost Bloklarındaki Gizli Riskleri Tarayın

Heap overflow açığına yol açabilecek riskli alias ve rewrite desenlerinin sitelerinizde olup olmadığını kontrol edin:

nginx -T 2>/dev/null | grep -E 'alias.*\$request_filename|rewrite.*\$[0-9]'
  • Çıktı boş dönerse: Sitelerinizde bu açığı tetikleyecek riskli bir yönlendirme/takma ad kombinasyonu yoktur; sistem güvendedir.
  • Satır dönerse: İlgili domainin NGINX ek direktiflerindeki rewrite regex yakalamalarını isimli gruplara ((?<name>...)) çevirmeniz gerekir.

5. cPanel Kullanıcıları İçin Resmi Güncelleme Adımı

Eğer cPanel sunucunuzda EasyApache 4 NGINX (ea-nginx) kullanıyorsanız, cPanel yamayı EA4 deposuna sürdüğünde paneli komple güncellemeden sadece NGINX paketini şu şekilde yükseltebilirsiniz:

# AlmaLinux / CloudLinux / RHEL için:
dnf check-update ea-nginx
dnf update ea-nginx -y

# Ubuntu tabanlı cPanel için:
apt update && apt --only-upgrade install ea-nginx -y

# Servisi yeniden başlatma
/usr/local/cpanel/scripts/restartsrv_nginx

6. Kapattığımız Bu Ayarlar Siteleri Yavaşlatır veya Bozar mı?

  • ssi off; (Server Side Includes): 90’lardan kalma eski bir HTML şablonlama yöntemidir. Günümüzde WordPress, Laravel veya modern JavaScript çatıları şablonları zaten PHP ya da istemci tarafında işler. NGINX seviyesinde SSI kapatılması siteleri asla bozmaz; aksine NGINX her yanıtta SSI etiketi aramayacağı için ufak bir kaynak tasarrufu sağlar.
  • aio off; (Asynchronous I/O): Devasa boyutlu statik dosyaların (video akışları, büyük arşivler) diskten okunmasında kullanılır. Plesk ve cPanel üzerindeki standart siteler, API’ler ve e-ticaret sayfaları dosya sunumunu varsayılan olarak Linux çekirdeğinin yüksek performanslı dosya önbelleği olan sendfile üzerinden gerçekleştirir. aio off yapıldığında trafik doğrudan standart Linux önbelleğine düşer; siteler bozulmaz, herhangi bir yavaşlama hissedilmez.

Özet

Sunucu terminalinizde nginx -v çıktısı 1.26.x veya 1.30.5 olarak görünmeye devam etse dahi; zafiyetin ihtiyaç duyduğu aio ve ssi yolları kapatıldığı ve vhost yapılandırmalarınız temiz olduğu sürece sunucunuz saldırılara karşı tamamen zırhlanmış durumdadır.

Plesk veya cPanel ilgili sürüme ait resmi RPM/DEB paketlerini depolarına yansıttığında, panelleri majör bir yükseltmeye maruz bırakmadan yalnızca ilgili servis paketini güncelleyerek süreci nihayete erdirebilirsiniz.

Bekir Bilgehan Kökkuş

Acil Proje / İletişim WhatsApp