Red Hot Cyber
Sicurezza Informatica, Notizie su Cybercrime e Analisi Vulnerabilità
La Macchina del Tempo delle Vulnerabilità: vBulletin 4.x e PHP Object Injection

La Macchina del Tempo delle Vulnerabilità: vBulletin 4.x e PHP Object Injection

17 Giugno 2025 07:15

A volte, è utile guardare indietro per comprendere meglio le minacce attuali. Un esempio ci arriva da una vecchia, ma sempre attuale, vulnerabilità di PHP Object Injection che interessa vBulletin 4.x.

Circa un decennio fa, il popolare software per forum web, vBulletin 4.x, fu interessato da una vulnerabilità di PHP Object Injection. Questa falla critica è stata trovata e documentata dal ricercatore di sicurezza Egidio Romano (EgiX) che ha recentemente rilevato un’altra vulnerabilità su vBulletin.

Advertising

Curiosamente, questa falla fu introdotta da una patch di sicurezza del 2014 che, nel tentativo di migliorare la protezione, sostituì serialize() con json_encode(), creando involontariamente un nuovo vettore di attacco: la possibilità di eseguire una PHP Object Injection.

Questa modifica potrebbe permettere agli aggressori di firmare payload serializzati codificati in base64, portando potenzialmente ad attacchi di esecuzione di codice remoto (RCE) tramite chiamate malevole a /private.php.

La vulnerabilità risiede nella funzione verify_client_string(), progettata per prevenire la manomissione dei dati lato client. Tuttavia, a causa del modo in cui json_encode() e base64_decode() gestiscono i dati, gli aggressori possono aggirare questi controlli. Un payload ben congegnato, iniettato attraverso il parametro POST messageids in /private.php, può portare alla deserializzazione di oggetti malevoli. 

L’analisi ha rivelato che, combinando questa iniezione, è possibile costruire una “POP chain” (Property Oriented Programming chain). Una POP chain è una sequenza di oggetti serializzati, che grazie a chiamate a metodi magici di PHP (__wakeup(), __destruct(), __call(), ecc.) che vengono invocate automaticamente durante la deserializzazione o la manipolazione di oggetti, potrebbero permettere all’attaccante di eseguire codice arbitrario.

In questo caso specifico, è stata sfruttata la classe DateTime di PHP, che, in combinazione con le strutture di classe di vBulletin, ha consentito l’esecuzione arbitraria di codice sul server. La vulnerabilità è stata testata e confermata su vBulletin versione 4.2.3 Patch Level 2, 4.2.3 e 4.2.2 con le “security patches” applicate, su PHP versione 5.6.5. Si noti infatti che questa “POP chain” funziona solo con alcune vecchie versioni di PHP (5.3.0. – 5.3.29, 5.4.0 – 5.4.37, 5.5.0 – 5.5.21, e 5.6.0 – 5.6.5).

Questa storia evidenzia i pericoli della deserializzazione insicura e i rischi derivanti dall’applicazione di patch di sicurezza affrettate a codice legacy. Anche nei sistemi più datati, le moderne tecniche di exploit possono essere estremamente efficaci. Le vulnerabilità di vBulletin, sia quelle più datate che quelle più recenti, ci ricordano l’importanza di mantenere i sistemi aggiornati e di adottare pratiche di sviluppo sicure per proteggersi da attacchi potenzialmente devastanti.



Ti è piaciuto questo articolo? Ne stiamo discutendo nella nostra Community su LinkedIn, Facebook e Instagram. Seguici anche su Google News, per ricevere aggiornamenti quotidiani sulla sicurezza informatica o Scrivici se desideri segnalarci notizie, approfondimenti o contributi da pubblicare.

Cropped RHC 3d Transp2 1766828557 300x300
La Redazione di Red Hot Cyber fornisce aggiornamenti quotidiani su bug, data breach e minacce globali. Ogni contenuto è validato dalla nostra community di esperti come Pietro Melillo, Massimiliano Brolli, Sandro Sana, Olivia Terragni e Stefano Gazzella. Grazie alla sinergia con i nostri Partner leader nel settore (tra cui Accenture, CrowdStrike, Trend Micro e Fortinet), trasformiamo la complessità tecnica in consapevolezza collettiva, garantendo un'informazione accurata basata sull'analisi di fonti primarie e su una rigorosa peer-review tecnica.