È stata ribattezzata Text4Shell (nome che rievoca la ben più pericolosa Log4Shell) l’importante vulnerabilità in Apache Commons Text corretta con l’aggiornamento della libreria open source alla versione 1.10.0.
La vulnerabilità Text4Shell, tracciata come CVE-2022-42889 e classificata con un indice di gravità CVSS di 9.8 su 10.0, è di tipo RCE (esecuzione di codice in modalità remota) e potrebbe consentire a un attaccante di eseguire codice arbitrario sul computer target e compromettere l’intero host.
Ricordiamo che Apache Commons Text è una libreria Java con un “sistema di interpolazione” che consente agli sviluppatori di modificare, decodificare, generare ed eseguire l’escape in base alla ricerca di stringhe.
Indice degli argomenti
Che cos’è Text4Shell
La vulnerabilità, che è stata scoperta per la prima volta il 9 marzo 2022, interessa varie versioni della libreria open source Apache Commons Text comprese tra la 1.5 e la 1.9 ed è causata da uno script di convalida non sicura da parte del sistema di interpolazione che potrebbe attivare l’esecuzione di codice durante l’elaborazione di input dannosi nella configurazione predefinita della libreria.
Come dicevamo, il nome con il quale è stata battezzata quest’ultima vulnerabilità è sicuramente evocativo della recente Log4Shell, exploit d’impatto globale e persistente sulla libreria Apache Log4j. Tuttavia, è doveroso sottolineare come non sia facilmente sfruttabile come il bug di Log4j. Secondo il ricercatore di sicurezza Sean Wright e il ricercatore di GitHub Security Lab Alvaro Munoz, che hanno scoperto la vulnerabilità a marzo, si prevede che tale difetto sarà anche meno diffuso poiché l’utilizzo di Commons Text è inferiore rispetto a Log4j.
“Per la natura della vulnerabilità si evince che, a differenza di Log4Shell, sarà raro che un’applicazione utilizzi il componente vulnerabile di Commons Text per elaborare input non attendibili e potenzialmente dannosi”, ha affermato Rapid7 in un suo report.
Come si può sfruttare Text4Shell
Nell’exploit, sostanzialmente verrebbe utilizzato il comando “netcat”(nc) per aprire una shell inversa sull’applicazione vulnerabile. Il payload viene costruito con l’abuso della ricerca di stringhe, ovvero “${prefix:name}.
Come mitigare il rischio di sfruttamento
Come detto, Apache ha rilasciato un aggiornamento della libreria che risolve il problema. Inoltre, è bene far notare che sebbene questa vulnerabilità sia rimasta non corretta per sette mesi, non sono apparsi casi di sfruttamento noti documentati.
Con l’aggiornamento della libreria, quello che si risolve coinvolge l’impostazione predefinita degli interpolatori problematici, che di fatto risulta essere disabilitata.
Le organizzazioni interessate sono sicuramente invitate a correggere immediatamente il difetto mediante l’aggiornamento dalla fonte ufficiale Apache.
Inoltre, è buona pratica di sviluppo considerare che l’input dell’utente venga “depurato” prima di fargli raggiungere l’applicazione, il servizio o il server: questo migliorerà la sicurezza, a prescindere da Text4Shell, anche per altre eventuali vulnerabilità non ancora note, non scoperte e non diffuse pubblicamente.