WordPress Eklentisi Kusuru 1.000.000 WordPress Sitesini Açığa Çıkardı


WordPress Eklentisindeki Bir Kusur 1.000.000 WordPress Sitesini Uzaktan Kod Saldırılarına Maruz Bıraktı

WPML (WordPress Çok Dilli) eklentisindeki bir güvenlik açığı, bir milyondan fazla WordPress sitesini uzaktan kod yürütme (RCE) saldırılarına karşı riske soktu.

Bu kusur, katkıda bulunan düzeyinde erişime veya daha yüksek bir düzeye sahip kimliği doğrulanmış kullanıcıların sunucuda keyfi kod yürütmesine izin verir ve bu da potansiyel olarak sitenin tamamen ele geçirilmesine yol açabilir. CVE-2024-6386 olarak tanımlanan güvenlik açığı, WPML eklentisinin 4.6.12’ye kadar olan tüm sürümlerini etkiler.

DÖRT

Bu kusur, “gizli helikopter” olarak bilinen bir güvenlik araştırmacısı tarafından keşfedildi ve Wordfence Hata Ödül Programı aracılığıyla sorumlu bir şekilde bildirildi. Araştırmacıya bu kritik bulgu için 1.639 dolar ödül verildi.

Teknik Analiz

Sorun, eklentinin popüler bir şablonlama motoru olan Twig’i kullanmasında girdi doğrulama ve temizleme eksikliğinden kaynaklanıyor.

Are You From SOC/DFIR Teams? - Try Advanced Malware and Phishing Analysis With ANY.RUN -14-day free trial

Güvenlik açığı özellikle, kullanıcı tarafından sağlanan Twig şablonlarını uygun şekilde temizlemeden işleyen WPML_LS_Public_API sınıfının render() fonksiyonunda bulunuyor.

Bu gözetim, sunucu taraflı şablon enjeksiyonuna olanak tanıyarak saldırganların kötü amaçlı kod enjekte etmesine ve yürütmesine olanak sağlıyor.

protected function render( $args, $twig_template = null ) {
    $defaults_slot_args = $this->get_default_slot_args( $args );
    $slot_args = array_merge( $defaults_slot_args, $args );
    $slot = $this->get_slot_factory()->get_slot( $slot_args );
    $slot->set( 'show', 1 );
    $slot->set( 'template_string', $twig_template );
    if ( $slot->is_post_translations() ) {
        $output = $this->render->post_translations_label( $slot );
    } else {
        $output = $this->render->render( $slot );
    }
    return $output;
}

Bu fonksiyon Twig şablonunu temizlemede başarısız olur ve saldırganların keyfi PHP fonksiyonlarını çalıştıran şablonlar oluşturmasına olanak tanır.

Kavram Kanıtı İstismarı

Bir kavram kanıtı istismarı, bu güvenlik açığının nasıl değerlendirilebileceğini gösterir. [wpml_language_switcher] Kısa kod, saldırganların phpinfo() gibi PHP fonksiyonlarını çalıştıran Twig kodunu enjekte ederek hassas sunucu bilgilerini açığa çıkarmasını sağlar.

[wpml_language_switcher]
{% set call_user_func = c~a~l~l~_~u~s~e~r~_~f~u~n~c %}
{% set phpinfo = p~h~p~i~n~f~o %}
{{ {1: phpinfo}|filter(call_user_func) }}
[/wpml_language_switcher]

Bu örnekte phpinfo()’yu çağırmak için Twig’in filtre fonksiyonu kullanılıyor ve daha zararlı istismarların potansiyeli ortaya konuyor.

Wordfence, premium kullanıcılarını korumak için 27 Haziran 2024’te bir güvenlik duvarı kuralı yayınlayarak hızla yanıt verdi. Bir ay sonra, ücretsiz kullanıcılar koruma aldı.

Başlangıçtaki iletişim zorluklarına rağmen, WPML geliştirme ekibi 20 Ağustos 2024’te güvenlik açığını gideren 4.6.13 sürümünde bir yama yayınladı.

Kullanıcıların riski azaltmak için WPML’nin en son sürümüne güncelleme yapmaları şiddetle tavsiye edilir. Güvenlik açığının kritik CVSS puanı olan 9.9, bu güncellemenin aciliyetini vurgular. Bu olay, WordPress ekosisteminde sağlam güvenlik uygulamalarının ve zamanında güncellemelerin önemini vurgular.

Eklentiler giderek daha karmaşık hale geldikçe, bunun gibi güvenlik açıkları kullanıcılara üçüncü taraf entegrasyonlarıyla ilişkili potansiyel riskleri hatırlatır. Kullanıcılar sitelerinin güvenliğini koruma konusunda dikkatli ve proaktif olmaya teşvik edilir.

Protect Your Business with Cynet Managed All-in-One Cybersecurity Platform – Try Free Trial



Source link