Red Hot Cyber

Sicurezza informatica, cybercrime, hack
news, e altro ancora

Red Hot Cyber

Dopo log4shell ecco Text4shell: la nuova falla critica di Apache Commons Text

20 Ottobre 2022 07:23

Una nuova vulnerabilità critica CVE-2022-42889 alias Text4shell, simile ai vecchi Spring4shell e log4shell, è stata originariamente segnalata da Alvaro Muñoz sulla popolare libreria Apache Commons Text.

Si tratta di una vulnerabilità classificata con gravità critica 9,8 ed è sempre un’esecuzione di codice in modalità remota (RCE) che consente agli aggressori di eseguire codice arbitrario sul computer e compromettere l’intero host.

Le versioni interessate di Apache Commons Text vanno dalla1.5 alla 1.9 ed è stato corretto nella versione 1.10.

Supporta Red Hot Cyber attraverso
  • L'acquisto del fumetto sul cybersecurity awareness (Primo episodio)
  • La sponsorizzazione della RHC Conference 2024
  • L'Acquisto di stock di fumetti sul Cybersecurity Awareness personalizzabili
  • La realizzazione di una puntata del fumetto BETTI-RHC
  • La realizzazione di strisce a fumetti brandizzate
  • Seguendo RHC su LinkedIn
  • Seguendo RHC su WhatsApp
  • Seguendo RHC su Google News

  • Iscrivendoti alla nostra newsletter

    Apache Commons Text è una libreria Java descritta come “una libreria focalizzata su algoritmi che lavorano su stringhe“. Possiamo vederlo come un toolkit di manipolazione del testo generico.

    Anche se hai familiarità con la codifica, potresti esserti imbattuto in Commons Text come una dipendenza nel tuo codice o potrebbe essere utilizzato da un’applicazione che stai attualmente eseguendo nel tuo laptop o ambiente di produzione.

    La vulnerabilità interessa la classe dell’interpolatore StringSubstitutor, che è inclusa nella libreria Commons Text. 

    Un interpolatore predefinito consente ricerche di stringhe che possono portare all’esecuzione di codice in remoto. Ciò è dovuto a un difetto logico che rende le chiavi di ricerca “script”, “dns” e “url” interpolate per impostazione predefinita, al contrario di ciò che dovrebbe essere, secondo la documentazione della classe StringLookupFactory. Tali chiavi consentono a un utente malintenzionato di eseguire codice arbitrario tramite ricerche.

    Per sfruttare le vulnerabilità, devono essere soddisfatti i seguenti requisiti :

    • Eseguire una versione di Apache Commons Text dalla versione 1.5 alla 1.9;
    • Utilizzare l’interpolatore StringSubstitutor

    È importante specificare che l’interpolatore StringSubstitutor non è così ampiamente utilizzato come la sostituzione di stringhe in Log4j, che ha portato a Log4Shell.

    Per riprodurre l’attacco, il componente vulnerabile è stato distribuito in un container Docker, accessibile da un’istanza EC2, che sarebbe stato controllato dall’attaccante. Usando il comando netcat (nc), possiamo aprire una reverse shell sull’applicazione vulnerabile.

    L’applicazione Web vulnerabile espone un’API di ricerca in cui la query viene interpolata tramite StringSubstitutor di Commons Text:

    http://web.app/text4shell/attack?search=<query>

    Il seguente payload potrebbe essere utilizzato per sfruttare la vulnerabilità e aprire una shell inversa:

    carico utile text4shell

    Questo payload è composto da “${prefix:name}”, che attiva la ricerca di stringhe. 

    Come accennato in precedenza, “script”, “dns” e “url” sono le chiavi che possono essere utilizzate come prefisso per sfruttare la vulnerabilità.

    Prima di inviare la richiesta predisposta, è necessario configurare la connessione della shell inversa utilizzando il comando netcat (nc) per l’ascolto sulla porta 9090.

    nc -nlvp 9090

    Ora possiamo inviare la richiesta realizzata, codificando l’URL del payload, come mostrato di seguito.

    Curl payload text4shell cve-2022-42889

    Possiamo vedere che l’attaccante ha aperto con successo una connessione con l’applicazione vulnerabile.

    text4shell cve-2022-42889 connessione nc

    Ora l’attaccante può interagire con la macchina vulnerabile come root ed eseguire codice arbitrario.

    Conclusioni

    Anche se il CVE-2022-42889 è sfruttabile in condizioni specifiche che rendono la vulnerabilità non così popolare come le altre 2 viste durante quest’anno, è comunque importante intraprendere azioni immediate.

    Per sicurezza, applica la patch con l’ultima versione per mitigare le vulnerabilità e usa gli scanner per scoprire se le tue applicazioni sono interessate.