Vulnerabilità critica in PHP: rischio esecuzione codice remoto

da Livio Varriale
0 commenti 3 minuti leggi

I ricercatori di sicurezza hanno avvertito di una vulnerabilità critica nel linguaggio di programmazione PHP, facilmente sfruttabile per eseguire codice dannoso sui dispositivi Windows. È urgente che chiunque utilizzi PHP prenda provvedimenti prima del fine settimana.

Annunci

Scansioni e sfruttamento della vulnerabilità

Entro 24 ore dalla pubblicazione della vulnerabilità e della relativa patch, i ricercatori dell’organizzazione di sicurezza non profit Shadowserver hanno segnalato scansioni Internet mirate a identificare server suscettibili agli attacchi. Queste scansioni, combinate con la facilità di sfruttamento, la disponibilità di codice di attacco proof-of-concept, la gravità dell’esecuzione di codice remoto su macchine vulnerabili e la vulnerabilità predefinita della piattaforma XAMPP, hanno spinto i professionisti della sicurezza a esortare gli amministratori a verificare se i loro server PHP sono affetti.

Dettagli della Vulnerabilità CVE-2024-4577

La vulnerabilità, tracciata come CVE-2024-4577, deriva da errori nel modo in cui PHP converte i caratteri unicode in ASCII. Una funzionalità di Windows nota come Best Fit permette agli attaccanti di utilizzare una tecnica chiamata injection di argomenti per passare input forniti dall’utente nei comandi eseguiti da un’applicazione, in questo caso PHP. Gli exploit permettono agli attaccanti di bypassare CVE-2012-1823, una vulnerabilità critica di esecuzione di codice patchata in PHP nel 2012.

La vulnerabilità CVE-2024-4577 riguarda PHP solo quando funziona in una modalità nota come CGI, in cui un server web analizza le richieste HTTP e le passa a uno script PHP per l’elaborazione. Anche quando PHP non è configurato in modalità CGI, la vulnerabilità potrebbe essere ancora sfruttabile se gli eseguibili PHP, come php.exe e php-cgi.exe, sono in directory accessibili dal server web. Questa configurazione è impostata di default in XAMPP per Windows, rendendo la piattaforma vulnerabile a meno che non sia stata modificata.

Esempi di sfruttamento

Un esempio fornito dai ricercatori mostra come una richiesta apparentemente innocua come http://host/cgi.php?foo=bar potrebbe essere convertita in php.exe cgi.php foo=bar, un comando che verrebbe eseguito dal motore principale di PHP.

Fallimento del Best Fit e Escaping

Il problema del Best Fit si manifesta quando PHP non riesce a convertire correttamente i caratteri di input, come il trattino morbido (unicode 0xAD), in caratteri sicuri. Questo permette agli attaccanti di inserire argomenti di comando aggiuntivi nei processi PHP. I ricercatori hanno dimostrato come l’inserimento di un carattere morbido possa bypassare la protezione e consentire l’esecuzione di codice remoto.

Impatto e raccomandazioni

La vulnerabilità interessa tutte le versioni di PHP che girano su dispositivi Windows, comprese le versioni 8.3 prima della 8.3.8, 8.2 prima della 8.2.20 e 8.1 prima della 8.1.29. Anche i rami di versione 8.0, 7 e 5 sono vulnerabili, ma non essendo più supportati, gli amministratori dovranno seguire i consigli di mitigazione, poiché non sono disponibili patch.

Mitigazioni consigliate

  • Aggiornamento del PHP: Chi utilizza versioni supportate di PHP dovrebbe aggiornare alle versioni che incorporano le patch: PHP 8.3.8, PHP 8.2.20 e PHP 8.1.29.
  • Rewrite Rules: Per sistemi che non possono essere immediatamente aggiornati, si consiglia di applicare una regola mod_rewrite per bloccare gli attacchi:apacheCopia codiceRewriteEngine On RewriteCond %{QUERY_STRING} ^%ad [NC] RewriteRule .? - [F,L]
  • Disabilitazione di PHP CGI in XAMPP: Per chi non ha bisogno della funzionalità PHP CGI, è possibile disattivarla modificando la configurazione del server Apache:apacheCopia codice# ScriptAlias /php-cgi/ "C:/xampp/php/"
  • Migrazione a Soluzioni Moderne: Considerare di migrare a soluzioni più moderne e sicure come FastCGI, PHP-FPM, o Mod-PHP.

La scoperta della vulnerabilità CVE-2024-4577 rappresenta una seria minaccia per i server PHP su Windows. È cruciale che gli amministratori di sistema prendano misure immediate per proteggere i loro server, aggiornando PHP alle ultime versioni o implementando le mitigazioni consigliate.

Si può anche come

MatriceDigitale.it – Copyright © 2024, Livio Varriale – Registrazione Tribunale di Napoli n° 60 del 18/11/2021. – P.IVA IT10498911212 Privacy Policy e Cookies

Developed with love by Giuseppe Ferrara