Sitemdeki basit bir form giriş kapısı oldu
Bir iletişim, teklif veya fiyat hesaplama formu; herkesin hesapsız ve parolasız istediğini yazabildiği bir alan olarak kalır: WordPress ekosisteminin en çok saldırıya uğrayan bileşenleri arasında yer almasının nedeni budur.
Bir form alanı doğası gereği kimlik doğrulamasız bir giriştir
Herkese açık bir form, sitenizde herhangi birinin hesapsız ve parolasız olarak sunucunuzun işleyeceği veriyi yazdığı tek yerdir. Yönetim paneli bir kimlik doğrulamayla korunur, API bir anahtar ister, FTP erişimi kimlik bilgisi ister. İletişim formu ise tanımı gereği açıktır; işlevi zaten budur. Tüccar bu formu zihninde içerik tarafına, bir metin bloğunun veya bir görselin yanına yerleştirir; oysa form, çalıştırılan kodun bir parçasıdır.
Bu zihinsel sınıflandırma devamını da açıklar. Form, hassas bileşenler listesinde yer almaz, öncelikli olarak güncellenmez, sürümü takip edilmez. Oysa Patchstack’in 2025 için yayımladığı veriler, WordPress ekosistemindeki açıkların %91’ini eklentilere atfediyor; %9’u temalarda ve yalnızca altı tanesi çekirdekte. Wordfence’in 2024 yıllık raporu ise eksik yetkilendirme kusurlarının, kimlik doğrulaması olmadan istismar edilebilen açıkların %73’ünü oluşturduğunu belirtiyor. Yani hesap gerektirmeden istismar edilenlerin büyük bölümü eksik bir erişim denetiminden kaynaklanıyor: herkese açık bir formun yapısı gereği sahip olmadığı denetim türünden.
Bir formun çevresinde sizi uyarması gerekenler
- Oluşturmadığınız bir yönetici hesabı kullanıcı listesinde beliriyor.
- Yükleme klasöründe veya form eklentisinin kendi klasöründe bilinmeyen PHP dosyaları ortaya çıkıyor.
- Site, sizin yazmadığınız e-postalar gönderiyor.
- Günlükler, formun işlem noktasına hiçbir insan ziyaretçinin üretemeyeceği bir hızda tekrarlanan istekler gösteriyor.
- Formun gelişmiş bir özelliği (bir hesaplama, bir koşul) eskisinden farklı davranıyor.
- Hiçbir değişiklik yapılmadığı hâlde form hata veriyor veya boş sayfa döndürüyor.
Basit form ile mantık içeren form arasındaki fark
Basit bir form karakter dizilerini toplar, e-postayla gönderir ve kaydeder. Mantık içeren bir form daha fazlasını yapar: bir toplam hesaplar, koşullar uygular, yanıtlara göre alanları gösterir veya gizler, anında bir teklif oluşturur. Bunun için ziyaretçinin yazdığını yorumlaması gerekir ve riski yaratan da bu yorumlamadır. Bir eklenti girdiyi yalnızca saklamak yerine ne kadar çok değerlendirirse, açık yüzey o kadar genişler.
Everest Forms Pro örneği bunu tam olarak gösteriyor. CVE-2026-3300, CVSS puanı 9,8: formların karmaşık hesaplama özelliği üzerinden, kimlik doğrulaması olmadan rastgele PHP kodu çalıştırma. Form verileri sanitize_text_field() ile temizleniyordu; bu fonksiyon PHP söz dizimi açısından anlam taşıyan karakterleri kaçışlamaz. Sonuç daha sonra eval() ile değerlendiriliyordu. 1.9.12 ve önceki sürümler etkileniyor.
Zaman çizelgesi de en az açık kadar öğretici. Araştırmacı h0xilo tarafından Şubat 2026’da bildirildi. Düzeltme 18 Mart 2026’da yayımlandı. Aktif istismar 13 Nisan 2026’dan itibaren başladı. Wordfence 29.300’den fazla istismar denemesini engelledi ve bir ele geçirme göstergesi yayımlandı: diksimarina adlı bir yönetici hesabı. Düzeltme ile toplu istismar arasında yaklaşık bir ay var. Bu, güncellemelerini takip eden bir tüccara verilmiş bir süredir — sitesinde gerçekte hangi sürümün çalıştığını bilmesi şartıyla.
Bu tür bir duyurudan sonra bir sitede neleri kontrol ederim
-
Form eklentisini ve sürümünü belirleyin
« İletişim formu » değil, tam adı ve sürüm numarası. Birçok site iki form eklentisi barındırır; bunlardan biri tema tarafından kurulmuş ve hiç kullanılmamıştır. Sorun çıkaran genellikle odur, çünkü kimse onu güncellemez.
-
Kurulu sürümün düzeltmeden sonraki bir sürüm olduğunu doğrulayın
Everest Forms Pro’da ayrım nettir: 1.9.12 ve önceki sürümler etkileniyor, düzeltme 18 Mart 2026 tarihli. Çoğu zaman süresi dolmuş bir lisansa bağlı ayrı bir kanaldan güncellenen Pro sürümlerine dikkat edin: eklenti güncel olmadığı hâlde kendini güncel gösterebilir.
-
Gerçekten kullanılan gelişmiş özellikleri listeleyin
Hesaplamalar, koşullu alanlar, dosya yükleme, dinamik mantık. Kullanılmayan neredeyse her zaman kapatılabilir ve kapatılmış bir özellik, bir açık doğrudan onu hedeflese bile açık yüzeyi daraltır.
-
Maruz kalma dönemi boyunca günlükleri okuyun
Sınır olarak düzeltme tarihini alırım; eklenti zaten geride kalmışsa daha geriye giderim. Formun işlem noktasına yönelik tekrarlanan istekleri, hesap oluşturmaları ve yükleme klasörlerine yazılan dosyaları ararım.
-
Ayrıcalıklı hesapları ve bırakılan dosyaları gözden geçirin
Yönetici listesini beklenenle karşılaştırırım, ardından yükleme ve eklenti klasörlerinde yeni PHP dosyalarını ararım. İstismardan sonra uygulanan bir düzeltme, öncesinde bırakılanı asla kaldırmaz: güncelleme kapıyı kapatır, ortalığı toplamaz.
Konuyla ilgili diğer sayfalar
-
Mağazanızı ilgilendiren açıkları takip etme
Kendi eklentilerinizi etkileyenleri fark etmek için duyuruları nerede takip edeceğiniz.
-
Sitemin ele geçirilip geçirilmediğini kontrol etmek
Yayımlanan bir açık kullandığınız bir eklentiyi ilgilendirdiğinde yapılacak kontroller.
-
Terk edilmiş modüller ve eklentiler
Kimsenin güncellemediği bileşen neden gerçek birinci vektör olmaya devam ediyor.
-
Güncellemeden önce eklentileri kontrol etmek
Canlı siteyi bozmadan bir güvenlik düzeltmesini uygulama yöntemi.
İhtiyacınızı bir dakikada anlatın
Size bir anket daha değil, doğrudan bir tahmin sunabilmem için birkaç hedefli soru.