Elementor Pro 4.2.1 ve önceki sürümler, Forms widget'ındaki dosya yükleme alanında bulunan kimlik doğrulaması gerektirmeyen bir uzaktan kod çalıştırma (RCE) açığı nedeniyle tehlikeye girebilir; sorun 4.2.2 sürümünde düzeltilmiştir, bu nedenle eski kodu çalıştıran siteler derhal yükseltme yapmalıdır.

Hata ne yapıyor?

Bu güvenlik açığı 9.0 CVSS puanına sahiptir; bu da savunmasız bir siteye erişebilen bir saldırganın, giriş yapmadan veya herhangi bir kimlik bilgisi sağlamadan sunucu üzerinde rastgele PHP kodu çalıştırabileceği anlamına gelir. Sorun, Elementor Pro'nun Forms widget'ındaki dosya yüklemelerini işleme biçiminden kaynaklanmaktadır. Eklenti iki ayrı döngü çalıştırır: biri yüklenen her dosyayı doğrulayan, diğeri ise dosyayı web üzerinden erişilebilir yükleme dizinine kaydeden döngüdür.

Bir saldırgan, iki dosya içeren tek bir istek oluşturabilir. İlk dosyaya boş bir isim verilir, bu da doğrulama döngüsünün kontrolü atlamasına neden olur. İkinci dosya olan kötü amaçlı bir PHP betiği ise ikinci döngüden geçer ve halka açık bir klasöre yazılır. Elementor Pro, yüklenen dosyalara bir zaman damgası (timestamp) kullanarak isim verdiği için saldırgan dosya adını tahmin edebilir ve daha sonra kodu çalıştırmak için dosyayı doğrudan talep edebilir.

Hata nasıl ortaya çıktı?

Çift döngülü tasarım, doğrulama ve depolamayı birbirinden bağımsız tutmak amacıyla tasarlanmıştı; ancak ortak bir mantık kontrolünün (sanity check) olmaması, boş isim hilesinin aradan sızmasına izin verdi. Bu hata, site sahibinin bu özelliği ziyaretçilere açıp açmadığına bakılmaksızın, Forms widget'ının dosya yükleme alanını kullanan her kurulumu etkilemektedir.

Kimler risk altında?

Elementor Pro 4.2.1 veya daha eski bir sürüm yüklü olan tüm WordPress siteleri risk altındadır. İstismar yöntemi kimlik doğrulaması gerektirmediği için, yönetici erişimini kısıtlayan siteler bile savunmasızdır. Başarılı bir istismar, saldırgana barındırma ortamı üzerinde tam kontrol sağlar; bu da veri hırsızlığına, site içeriğinin değiştirilmesine (defacement) veya fidye yazılımı (ransomware) yayılmasına kapı aralar.

Şimdi ne yapmalı?

  • Yüklü sürümü WordPress CLI komutu ile doğrulayın:

    wp plugin list --name=elementor-pro --field=version
    
  • Eğer çıktı 4.2.1 veya daha düşük bir sürüm gösteriyorsa, derhal 4.2.2 veya daha yeni bir sürüme güncelleyin. Güncelleme, hatalı yükleme mantığını, boş isimle atlatmayı engelleyen tek bir atomik doğrulama ve kaydetme rutini ile değiştirir.

  • Güncelleme yaptıktan sonra, yükleme dizinini eklenti tarafından kullanılan zaman damgası desenine uyan PHP dosyaları açısından denetleyin ve bunları kaldırın.

  • Özellikle yüksek trafikli sitelerde, yama uygulanana kadar halka açık formlardaki dosya yükleme alanını devre dışı bırakmayı düşünün.

Karşı Görüş

Bazı geliştiriciler, istismarın Forms widget'ının halka açık erişilebilir bir dosya yükleme alanı ile yapılandırılmasını gerektirmesi nedeniyle riskin sınırlı olduğunu savunmaktadır. Ancak, Elementor tabanlı birçok site iletişim, iş başvuruları veya kullanıcı tarafından oluşturulan içerikler için bu tür formlar sunmaktadır; bu da durumun, güvenlik açığının kritik olarak değerlendirilmesine neden olacak kadar yaygın olmasını sağlamaktadır.

Bundan sonra ne takip edilmeli?

Güvenlik araştırmacıları, daha fazla site istismar girişimini raporladıkça ek bilgilendirme notlarının yayınlanmasını beklemektedir. Takip eden yamalar veya hafifletme yöntemleri için resmi Elementor duyurularını ve saygın güvenlik açığı veritabanlarını takip edin.

Özetle: Elementor Pro 4.2.1 ve önceki sürümlerdeki RCE açığı, yüksek öncelikli ve giriş gerektirmeyen bir saldırı vektörüdür. 4.2.2 sürümüne güncelleme yapmak tek güvenilir savunmadır; gecikmek sunucunuzu ve verilerinizi ciddi risk altına sokar.