WordPress Eklentisindeki Kimliği Doğrulanmamış RCE 100.000 Siteyi Açığa Çıkarıyor


Popüler bir WordPress bağış ve bağış toplama platformu olan GiveWP eklentisinde kritik bir güvenlik açığı keşfedildi.

CVE-2024-5932 numaralı bu güvenlik açığı, 100.000’den fazla WordPress sitesini potansiyel uzaktan kod yürütme (RCE) saldırılarına maruz bırakıyor.

Söz konusu güvenlik açığı, villu164 isimli bir güvenlik araştırmacısı tarafından Wordfence Bug Bounty Programı aracılığıyla sorumlu bir şekilde ifşa edildi.

CVE-2024-5932 – Güvenlik Açığı Açıklandı

PHP Nesne Enjeksiyonu, kullanıcı girdisinin uygun doğrulama veya temizleme olmadan PHP nesnelerine dönüştürülmesi durumunda güvenlik açığı oluşturur.

Bu, saldırganların sunucuya keyfi kod yürüten veya sunucuda yetkisiz eylemler gerçekleştiren kötü amaçlı nesneler enjekte etmesine olanak tanıyabilir.

Free Webinar on Detecting & Blocking Supply Chain Attack -> Book your Spot

GiveWP eklentisi, 3.14.1 dahil tüm sürümlerde PHP Nesne Enjeksiyonuna karşı savunmasızdır. Güvenlik açığı, ‘give_title’ parametresinden gelen güvenilmeyen girdinin seri durumdan çıkarılmasıyla tetiklenir.

Bu, kimliği doğrulanmamış saldırganların bir PHP nesnesi enjekte etmesine olanak tanır. Eklentideki Özellik Odaklı Programlama (POP) zinciri, saldırganların uzaktan kod yürütmesine ve keyfi dosyaları silmesine olanak tanır.

PHP POP zinciri
PHP POP zinciri

Teknik Detaylar

Güvenlik açığı, bağış formlarını işleyen ve işleyen give_process_donation_form() işlevinde yer alır. İşlev, ‘give_title’ gönderi parametresini doğrulamada başarısız olur ve saldırganların serileştirilmiş nesneler enjekte etmesine olanak tanır.

Bu durum, keyfi kodun yürütülmesine ve wp-config.php gibi kritik dosyaların silinmesine yol açabilir; bu da sitenin sıfırlanmasına ve saldırganların kontrolü ele geçirmesine olanak tanıyabilir.

php
class Product {
    public $price;
    public $productName;
    public $savedPriceFile;
    function __construct($price, $productName) {
        $this->price = $price;
        $this->productName = $productName;
        $this->savedPriceFile = $productName . "pricefile.log";
    }
    function calculateTotal($quantity) {
        $total = $this->price * $quantity;
        echo $total;
        file_put_contents($this->savedPriceFile, $total);
    }
    function __destruct() {
        unlink($this->savedPriceFile);
    }
}

Yukarıdaki örnekte, bir saldırgan, aşağıdaki gibi bir yük kullanarak wp-config.php dosyasını silmek için bu güvenlik açığından yararlanabilir:

O:7:”Ürün”:3:{s:5:”fiyat”;i:2;s:11:”ürünAdı”;s:6:”elmalar”;s:14:”kaydedilenFiyatDosyası”;s:13:”wp-config.php”;}

Uzaktan Kod Çalıştırma için POP Zinciri

Güvenlik açığı, GiveInsertPaymentData sınıfını ve Give\Vendors\Faker\ValidGenerator sınıfını içeren karmaşık bir POP zincirinden yararlanıyor.

Bu zincir, saldırganların shell_exec() fonksiyonunu yürütmesine olanak tanır ve bu da sunucuda keyfi komutlar çalıştırmalarını mümkün kılar.

CVE Ayrıntıları

  • CVE Kimliği: CVE-2024-5932
  • CVSS Puanı: 10.0 (Kritik)
  • Etkilenen Sürümler: <= 3.14.1
  • Tam Yamalı Sürüm: 3.14.2

Müdahale ve Azaltma

Güvenlik açığı StellarWP ekibine 13 Haziran 2024’te bildirildi. Yanıt alamayınca sorun 6 Temmuz 2024’te WordPress.org Güvenlik Ekibi’ne iletildi. 7 Ağustos 2024’te GiveWP eklentisinin 3.14.2 sürümünde bir yama yayınlandı.

GiveWP eklentisini kullanan tüm kullanıcıların, sitelerini olası istismarlardan korumak için en son sürüm olan 3.14.2’ye güncellemeleri önemle rica olunur.

WordPress sitelerinin güvenliğinin sağlanması için düzenli güncellemeler ve güvenlik denetimleri yapılması önerilir.

Bu güvenlik açığının keşfi, WordPress ekosisteminin güvenliğini sağlamada sıkı güvenlik uygulamalarının ve sorumlu açıklamanın rolünün önemini vurgulamaktadır.

Web gelişmeye devam ettikçe, onu korumak için aldığımız önlemler de gelişmelidir. Kullanıcıların dijital varlıklarını güvence altına alma konusunda dikkatli ve proaktif olmaları teşvik edilmektedir.

Are you from SOC and DFIR Teams? Analyse Malware Incidents & get live Access with ANY.RUN -> Get 14 Days Free Access



Source link