WordPress eklentisi güvenlik açığı SQL enjeksiyon istismarlarına kapı açar


Popüler WordPress eklentisi Gamipress’te kritik bir güvenlik açığı ortaya çıktı ve kullanıcıları kimlik doğrulanmamış SQL enjeksiyon saldırılarına maruz bıraktı.

CVE-2024-13496 tanımlayıcısına atanan sorun, yüksek CVSS 3.1 puanı 7.5 taşıyan ve sömürü için önemli bir potansiyel olduğunu gösteriyor.

CVE-2024-13496, Gamipress sürüm 7.2.1’in güvenlik değerlendirmesi sırasında keşfedildi. Güvenlik açığı, tüm sürümleri 7.3.1’e kadar etkiler, bu da kullanıcıların en son güvenli sürümüyle güncellenmesini zorunlu hale getirir.

İlk analiz

Abrahack tarafından yapılan bir rapora göre, savunmasızlık, kimlik doğrulanmamış erişime izin veren WP_AJAX_NOPRIV _ {$ Action} kancasında tanımlandı.

Özellikle, Gamipress_get_Logs Ajax uç nokta, kullanıcı etkileşimlerinin günlüklerini aldığı ve veritabanı sorgularını etkileyebilecek çeşitli parametreleri kabul ettiği için savunmasız olduğu bulunmuştur.

Gamipress_ajax_get_logs işlevi bu bağlamda çok önemlidir. Gamipress_logs_shortcode işlevine aktarılan $ _Request dizisini kullanır.

Bu işlev, veritabanını ct_query sınıfı üzerinden sorgulamak için Gamipress_Logs_shortcode_Query işlevini kullanır.

function gamipress_ajax_get_logs() {
    // Security check
    check_ajax_referer( 'gamipress', 'nonce' );
    // Set current page
    if( isset( $_REQUEST['page'] ) && absint( $_REQUEST['page'] ) > 1 ) {
        set_query_var( 'paged', absint( $_REQUEST['page'] ) );
    }
    $atts = $_REQUEST;
    // Sanitize
    foreach( $atts as $attr => $value ) {
        $atts[$attr] = sanitize_text_field( $value );
    }
    // Send successful response
    wp_send_json_success( gamipress_do_shortcode( 'gamipress_logs', $atts ) );
}

Güvenlik açığı, güvensiz bir SQL sorgusuna aktarılan Sipariş HTTP istek parametresinden yararlanır.

Beyaz boşlukları soymak ve tek ve çift alıntılara izin vermemek gibi sınırlamalar mevcut olsa da, saldırganlar hala dikkatle hazırlanmış yükler kullanarak bunu kullanabilirler.

İstismarı göstermek için bir Boolean zaman tabanlı SQLI yükü kullanıldı. Bu tür yük, saldırganların verileri doğrudan çıkarmadan bile veritabanı hakkında bilgi çıkarmasına izin verebilir.

Satıcı, Sipariş parametresi için beyaz liste bir yaklaşım uygulayarak 7.3.2 sürümündeki bu güvenlik açığını ele aldı.

Bu, SQL enjeksiyon saldırılarını etkili bir şekilde önleyerek sadece Gamipress_Logs tablosundaki önceden tanımlanmış sütunların kullanılabilmesini sağlar.

Bu güvenlik açığı, özellikle WordPress eklentilerinde, kullanıcı girişlerinin güvenli bir şekilde işlenmesini sağlamanın önemini vurgulamaktadır.

Kullanıcılara, potansiyel SQL enjeksiyon saldırılarına karşı korumak için Gamipress kurulumlarını 7.3.2 veya daha sonraki sürümlere güncellemeleri istenir.

Investigate Real-World Malicious Links & Phishing Attacks With Threat Intelligence Lookup - Try for Free



Source link