Vulnerabilità in PHP che consente l'esecuzione di codice in modalità CGI.

È stata identificata una vulnerabilità in PHP (CVE-2024-4577) che consente l'esecuzione di codice arbitrario sul server o la visualizzazione del codice sorgente di uno script PHP quando PHP è utilizzato in modalità CGI sulla piattaforma Windows (configurazioni con mod_php, php-fpm e FastCGI non sono vulnerabili). Il problema è stato risolto nelle versioni PHP 8.3.8, 8.2.20 e 8.1.29.

La vulnerabilità è un caso specifico di un problema corretto nel 2012, identificato come CVE-2012-1823, per il quale la protezione aggiunta non era sufficiente a bloccare l'attacco sulla piattaforma Windows. Il metodo di attacco consiste nella possibilità di sostituire un argomento della riga di comando durante l'avvio dell'interprete PHP manipolando i parametri della richiesta allo script PHP.

Nella vecchia vulnerabilità CVE-2012-1823, era sufficiente specificare le opzioni della riga di comando anziché i parametri della richiesta, ad esempio, «http://localhost/index.php?-s» per visualizzare il codice sorgente dello script. La nuova vulnerabilità si basa sul fatto che la piattaforma Windows fornisce una conversione automatica dei caratteri, consentendo di superare la protezione precedentemente implementata specificando caratteri presenti in alcune codifiche che vengono sostituiti con il carattere «-» (ad esempio, http://localhost/index.php?s).

La vulnerabilità è stata confermata in configurazioni con impostazioni locali per il cinese tradizionale (cp950), cinese semplificato (cp936) e giapponese (cp932), ma non si esclude la sua manifestazione anche con altre impostazioni locali. Il problema si manifesta nella configurazione predefinita del pacchetto XAMPP (Apache + MariaDB + PHP + Perl) e in qualsiasi configurazione di Apache in cui php-cgi è impostato come gestore di script CGI tramite impostazioni come ‘Action cgi-script «/cgi-bin/php-cgi.exe»’ o ‘Action application/x-httpd-php-cgi «/php-cgi/php-cgi.exe»’, oppure nel posizionamento diretto dell'interprete php in «/cgi-bin» e in qualsiasi altra directory in cui è consentita l'esecuzione di script CGI tramite la direttiva ScriptAlias.
Inoltre, gli aggiornamenti di PHP 8.3.8, 8.2.20 e 8.1.29 hanno risolto altre tre vulnerabilità:

CVE-2024-5458 — possibilità di bypassare il filtro

  • FILTER_VALIDATE_URL, utilizzato durante la chiamata alla funzione filter_var.
    CVE-2024-5585 — un vettore di attacco alternativo per la vulnerabilità CVE-2024-1874, che consente di bypassare la protezione precedentemente implementata e di effettuare sostituzioni di comandi durante la chiamata a file bat e cmd tramite la funzione proc_open sulla piattaforma Windows (vulnerabilità BatBadBut).
  • Vulnerabilità della funzione openssl_private_decrypt agli attacchi Marvin.
  • Vulnerabilità della funzione openssl_private_decrypt all'attacco Marvin.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS 🔥 Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS | ProHoster