Novi dettagli sono emersi su una nuova falla critica di sicurezza che riguarda PHP e che potrebbe essere sfruttata per ottenere l’esecuzione di codice remoto in determinate circostanze.
PHP: cos’è in breve
Abbraviazione di Hypertext Preprocessor è un linguaggio di scripting server-side progettato principalmente per lo sviluppo web; è uno dei linguaggi più popolari per creare siti web dinamici e interattivi grazie alla sua facilità d’uso e alla sua capacità di integrarsi con database come MySQL.
PHP può essere inserito direttamente nel codice HTML, consentendo di eseguire script sul server per generare contenuti web personalizzati per ogni richiesta dell’utente; è open source e supportato da una vasta comunità di sviluppatori, il ché significa che esiste una grande quantità di risorse, estensioni e framework disponibili.
Sostanzialmente è un linguaggio un po’ complicato e non propriamente adatto per chi è alla prime armi.
Cosa si sa della vulnerabilità del noto linguaggio che colpisce sistemi operativi Windows
La vulnerabilità, tracciata come CVE-2024-4577, è stata descritta come una vulnerabilità di iniezione di argomenti CGI che interessa tutte le versioni di PHP installate sul sistema operativo Windows.
Secondo il ricercatore di sicurezza DEVCORE, la carenza rende possibile bypassare le protezioni messe in atto per un’altra falla di sicurezza, CVE-2012-1823.
“Durante l’implementazione di PHP, il team non ha notato la funzione Best-Fit della conversione di codifica all’interno del sistema operativo Windows“, ha detto il ricercatore di sicurezza Orange Tsai.
“Questa svista permette agli attaccanti non autenticati di bypassare la precedente protezione di CVE-2012-1823 tramite sequenze di caratteri specifici. Codice arbitrario può essere eseguito su server PHP remoti attraverso l’attacco di iniezione di argomenti.”
A seguito della divulgazione responsabile il 7 maggio 2024, una correzione per la vulnerabilità è stata resa disponibile nelle versioni di PHP 8.3.8, 8.2.20 e 8.1.29.
DEVCORE ha avvertito che tutte le installazioni di XAMPP su Windows sono vulnerabili per impostazione predefinita quando configurate per utilizzare le localizzazioni per il cinese tradizionale, il cinese semplificato o il giapponese.
La società taiwanese raccomanda inoltre agli amministratori di abbandonare completamente l’obsoleto PHP CGI e di optare per una soluzione più sicura come Mod-PHP, FastCGI o PHP-FPM.
“Questa vulnerabilità è incredibilmente semplice, ma è anche ciò che la rende interessante“, ha detto Tsai. “Chi avrebbe pensato che una patch, che è stata revisionata e provata sicura negli ultimi 12 anni, potesse essere bypassata a causa di una piccola caratteristica di Windows?“
La Shadowserver Foundation, in un post condiviso su X, ha detto di aver già rilevato tentativi di sfruttamento della falla contro i suoi server honeypot entro 24 ore dalla divulgazione pubblica.
watchTowr Labs ha detto di essere riuscito a ideare un exploit per CVE-2024-4577 e a ottenere l’esecuzione di codice remoto, rendendo imperativo che gli utenti applichino rapidamente le ultime patch.
“Un brutto bug con un exploit molto semplice“, ha detto il ricercatore di sicurezza Aliz Hammond. “Coloro che operano in una configurazione affetta sotto una delle localizzazioni colpite – cinese (semplificato o tradizionale) o giapponese – sono invitati a fare ciò il più rapidamente possibile, poiché il bug ha un’alta probabilità di essere sfruttato su larga scala a causa della bassa complessità dell’exploit.“
Vulnerabilità di PHP avvenute in passato
PHP ha una lunga storia di vulnerabilità di sicurezza che hanno richiesto interventi rapidi per proteggere i sistemi. Alcuni esempi notevoli includono:
- CVE-2019-11043: Una vulnerabilità di overflow del buffer che permetteva l’esecuzione remota di codice su server PHP-FPM.
- CVE-2018-14883: Un problema di iniezione di comandi che poteva essere sfruttato per eseguire comandi arbitrari sul server.
- CVE-2016-5766: Una falla nel gestore di sessioni di PHP che poteva portare a esecuzione di codice arbitrario.
- CVE-2015-4601: Un problema di deserializzazione che poteva essere sfruttato per l’esecuzione di codice remoto.
Questi esempi evidenziano l’importanza di mantenere sempre aggiornate le installazioni di PHP e di applicare tempestivamente le patch di sicurezza.