WordPress İletişim Formu Güvenlik Açığı; Amerika Birleşik Devletleri Ulusal Güvenlik Açığı Veritabanı, 200.000’den fazla etkin yüklemeyi güvenlik açığına maruz bırakan popüler Metform Elementor Contact Form Builder’ı etkileyen bir XSS güvenlik açığına ilişkin bir danışma belgesi yayınladı.
Siteler Arası Komut Dosyası Çalıştırma (XSS)
Depolanmış bir XSS güvenlik açığı, bir web sitesinin, bir bilgisayar korsanının sunucuya kötü amaçlı bir komut dosyası yüklemesine izin veren bir gönderim formu gibi bir girişi düzgün bir şekilde güvenceye almadığı bir güvenlik açığıdır.
Komut dosyası daha sonra bir site ziyaretçisi tarayıcısı tarafından indirilir ve yürütülür, bu da bilgisayar korsanının ziyaretçilerin çerezlerini çalmasına veya web sitesi izinlerini almasına olanak tanır, bu da daha sonra bir web sitesinin ele geçirilmesine yol açabilir. Kâr amacı gütmeyen Açık Dünya Çapında Uygulama Güvenliği Projesi (OWASP), Siteler Arası Komut Dosyası Çalıştırma güvenlik açığını açıklar:
“Bir saldırgan, şüphelenmeyen bir kullanıcıya kötü amaçlı bir komut dosyası göndermek için XSS’yi kullanabilir. Son kullanıcının tarayıcısının komut dosyasına güvenilmemesi gerektiğini bilmesinin bir yolu yoktur ve komut dosyasını yürütür. Komut dosyasının güvenilir bir kaynaktan geldiğini düşündüğü için, kötü amaçlı komut dosyası, tarayıcı tarafından tutulan ve o siteyle birlikte kullanılan tüm tanımlama bilgilerine, oturum belirteçlerine veya diğer hassas bilgilere erişebilir.”
OWASP
Farklı XSS saldırıları vardır. Elementor iletişim formu eklentisini etkileyen güvenlik açığı, depolanmış XSS olarak adlandırılır çünkü kötü amaçlı komut dosyası web sitesi sunucularının kendisine yüklenir ve burada depolanır.
Bu güvenlik açığını özellikle endişe verici kılan, kimliği doğrulanmamış bir sürüm olmasıdır, yani saldırganın saldırıyı başlatmak için herhangi bir web sitesi iznine ihtiyacı yoktur. Bu güvenlik açığına, 1-10 ölçeğinde 7,2’lik bir tehdit puanı atanmıştır; bu, 10. seviye en yüksek seviyedir.
Güvenlik açığına ne sebep oldu?
Güvenlik açığına neden olan şey, iletişim gönderme formu aracılığıyla istenmeyen girişleri kontrol edemeyen ve engelleyemeyen eklentideki bir kodlama sorunudur. İstenmeyen yüklemeleri kontrol etmek ve engellemek için yapılan bu işleme temizleme denir.
İkinci bir sorun, eklentinin, eklenti tarafından çıkarılan verileri güvenceye almadaki başarısızlığıydı. Buna kaçış çıkışı denir. WordPress, kaçış verileri hakkında bir geliştirici sayfası yayınlar ve bu sayfa şunları açıklar:
“Çıktıdan kaçmak, hatalı biçimlendirilmiş HTML veya komut dosyası etiketleri gibi istenmeyen verileri çıkararak çıktı verilerini koruma işlemidir. Bu işlem, verilerinizin son kullanıcı için işlenmeden önce güvenliğini sağlamaya yardımcı olur.”
WordPress
Çıktılardan kaçmak için girdilerin sterilize edilmemesi, güvenlik açığına yol açan iki ana sorundur. Ulusal Güvenlik Açığı Veritabanı uyarısı şunları açıklar:
“WordPress için Metform Elementor İletişim Formu Oluşturucu eklentisi, yetersiz giriş temizleme ve çıkış kaçışı nedeniyle 3.1.2’ye kadar (bu dahil) sürümlerdeki formlardaki metin alanları aracılığıyla Depolanan Siteler Arası Komut Dosyasına karşı savunmasızdır. Bu, kimliği doğrulanmamış saldırganların, bir kullanıcı enjekte edilen bir sayfaya, yani gönderimler sayfasına her eriştiğinde yürütülecek olan sayfalara rasgele web komut dosyaları enjekte etmesini mümkün kılar.”
Ulusal Güvenlik Açığı Veritabanı
Metform WordPress İletişim Formu Güvenlik Açığı
Metform Elementor Contact Form Builder’ın yayıncıları, güvenlik açığını gidermek için birkaç sürüm boyunca yamalar yayınladı. Bunlar, eklentinin güncellenmiş sürümleri ve düzeltmeleridir:
- Sürüm 3.2.0: İyileştirildi: Güvenlik ve temizlik
- Sürüm 3.2.2: Düzeltildi: REST API uç noktası için güvenlik izni sorunu
- Sürüm 3.2.3 (03-06-2023 tarihinde yamalı): İmza alanında kaçma sorunu. Oturum açmamış kullanıcıların durumu için form gönderme.
Metform Elementor İletişim Formu Oluşturucu’yu kullanan WordPress yayıncıları, eklentilerini tamamen yamalı sürüm olan 3.2.3 sürümüne güncellemeyi düşünmelidir.