Trovata una vulnerabilità vecchia di 15 anni in Pear PHP

Una sconcertante serie di vulnerabilità nel repository PEAR PHP è stata scoperta dagli esperti di SonarSource dopo ben 15 anni.

Avatar di Marco Doria

a cura di Marco Doria

Pear
è un framework e un sistema di distribuzione di componenti PHP riutilizzabili. Gli esperti di SonarSource hanno scoperto alcune falle di sicurezza presenti da ben 15 anni sul repository PEAR (PHP Extension and Application Repository)
, talmente gravi da aver potenzialmente permesso l'esecuzione di attacchi supply chain.

Secondo gli analisti, tali falle erano sfruttabili molto facilmente, anche da hacker meno esperti, non solo per pubblicare contenuti dannosi, ma anche per ottenere un accesso permanente al server PEAR centrale.

Una delle falle individuate dagli esperti era relativa all'uso della funzione PHP mt_rand(), utilizzata nella funzionalità di reimpostazione password. A quanto pare, era possibile rilevare un token valido per la reimpostazione della password con meno di 50 tentativi. Dopo aver ottenuto la password relativa all'account di uno sviluppatore, era possibile condurre un attacco supply chain facendo il push di una versione compromessa dei pacchetti.

Gli esperti spiegano che il codice sorgente dietro pear.php.net è presente in un progetto chiamato pearweb, disponibile su GitHub. Attraverso un test tramite VM, gli analisti hanno osservato il pull della dipendenza Archive_Tar in una versione meno aggiornata, notoriamente afflitta da una falla in grado di consentire l'esecuzione arbitraria di codice.

Sempre secondo SonarSource, tali vulnerabilità erano presenti da ben 15 anni, nonostante fossero facilissime da individuare e sfruttare. Ciò solleva alcuni interrogativi sulla mancanza di interventi di sicurezza da parte delle aziende che utilizzano il repository. Si tratta di una scoperta davvero sconcertante, dal momento che il repository è molto utilizzato. Tuttavia, non si tratta della prima scoperta di questo tipo a riguardare PHP. Infatti, ad aprile 2021, lo stesso team aveva scoperto una vulnerabilità in PHP Composer, che avrebbe consentito di eseguire comandi arbitrari e sfruttare una backdoor in ogni pacchetto PHP.