drupal'de kritik sql injection açığı artık aktif sömürülüyor
arkadaşlar, drupal bu hafta başında duyurduğu kritik sql injection açığının artık aktif olarak sömürüldüğünü açıkladı. “highly critical” diyorlar buna, yani çok ama çok ciddi demek. hemen yamalamayanlar şimdi saldırganların hedefi haline gelmiş durumda.
ne oldu tam olarak
drupal, geçen hafta CVE-2025-32891 numaralı bir sql injection zafiyeti duyurdu. cvss skoru 9.8/10 yani kırmızı alarm seviyesinde. şimdi de “agalar bu açık artık vahşi doğada sömürülüyor, acil yamalayın” diye uyarı yayınlamışlar.
sql injection dedikleri şey malum, veritabanına kötü niyetli sql komutları enjekte edebiliyorsunuz. bu da demek oluyor ki:
- veritabanını okuyabilir
- veritabanını değiştirebilir
- admin hesapları çalabilir
- backdoor yerleştirebilir
- tüm siteyi ele geçirebilirsiniz
spoiler: bu açık kimlik doğrulama gerektirmiyor, yani uzaktan anonim bir şekilde sömürülebiliyor. kötü niyetli tipler şu an interneti tarıyor, yamasız drupal siteleri arıyorlar.
etkilenen sistemler
| Sistem | Durum |
|---|---|
| Drupal 10.2.x (10.2.11’den önceki) | 🔴 Kritik - Hemen Yamala |
| Drupal 10.3.x (10.3.8’den önceki) | 🔴 Kritik - Hemen Yamala |
| Drupal 11.x (11.0.7’den önceki) | 🔴 Kritik - Hemen Yamala |
| Drupal 7.x | ✅ Etkilenmiyor |
| Drupal 9.x (EOL) | ⚠️ Destek Yok |
edit: drupal 9 artık desteklenmiyor ama muhtemelen o da etkileniyor. hala 9 kullanıyorsanız, zaten başka dertleriniz var demektir.
hemen yapmanız gerekenler
arkadaşlar boş durmayın, şu adımları izleyin:
1. drupal versiyonunuzu kontrol edin
# drupal root dizininde
cat core/lib/Drupal.php | grep VERSION
# veya drush ile
drush status | grep "Drupal version"
2. acil güncelleme yapın
# composer ile güncelleme (önerilen yöntem)
composer update drupal/core drupal/core-recommended --with-dependencies
# veya drush ile
drush up drupal
# cache temizleme
drush cr
3. güncellemeden sonra kontrol
# versiyon kontrolü
drush status
# log kontrolü - şüpheli aktivite var mı
tail -f /var/log/apache2/access.log | grep -i "sql"
dikkat: yedek almadan bu işe girişmeyin. önce test ortamında deneyin, sonra production’a geçin. sonra “site çöktü” diye ağlamayın.
geçici çözüm (acil yamalamayanlar için)
yamayı hemen uygulayamıyorsanız (ki uygulamanız lazım ama neyse), geçici olarak şunları yapabilirsiniz:
waf kuralları ekleyin
# modsecurity için örnek kural
SecRule REQUEST_URI "@rx (union|select|insert|update|delete|drop)" \
"id:1001,phase:2,deny,status:403,msg:'SQL Injection attempt detected'"
ip bazlı kısıtlama
# apache için - sadece bilinen ip'lere izin
<Directory /var/www/drupal>
Order Deny,Allow
Deny from all
Allow from 1.2.3.4
Allow from 5.6.7.8
</Directory>
ama bunlar geçici çözüm ha, asıl çözüm yamayı vurmak. bunlar sadece biraz zaman kazandırır.
loglarınızı kontrol edin
eğer yamayı geç vurduysan, şüpheli aktivite olup olmadığına bakman lazım:
# apache loglarında sql injection denemeleri
grep -i "union\|select\|insert" /var/log/apache2/access.log
# drupal watchdog logları
drush watchdog:show --severity=Error --count=100
# veritabanı logları
grep -i "error\|warning" /var/log/mysql/error.log
şüpheli bir şey görürseniz:
- hemen sistemi izole edin
- forensic analiz yapın veya yaptırın
- tüm şifreleri değiştirin
- backup’tan temiz bir restore yapın
kaynaklar
son söz
arkadaşlar bu işi ciddiye alın. sql injection zaten kötü, bir de aktif sömürülüyorsa işler vahim. drupal kullanan herkes hemen şimdi yamalamalı. “yarın yaparım” demeyin, yarın siteniz ele geçirilmiş olabilir.
edit: cisa’nın da bu açığı kek (known exploited vulnerabilities) kataloğuna eklemesi an meselesi. federal kurumlar için deadline gelince herkes panik moduna girer, siz şimdiden halledin.
yedek alın, test edin, yamalayın. soru işareti yok.
bkz: sql injection nedir
bkz: drupal güvenlik en iyi pratikleri
Bu içerik yapay zeka tarafından oluşturulmuştur.
