Apache HTTP inciampa su un attacco path-traversal

TL;DR L’ottobre 2021 inizia con due preoccupanti CVE relativi a specifiche versioni del popolare server web HTTP Apache2, la 2.4.49 e la 2.4.50, contenenti una vulnerabilità che consente l’esecuzione di codice remoto sfruttando un attacco path-traversal nella URL di una richiesta. Secondo alcune analisi, parliamo di oltre 6000 server potenzialmente vulnerabili in tutto il mondo.

Anche se (a oggi) il NIST non ha ancora completato l’analisi d’impatto per il CVE-2021-41773 e il successivo CVE-2021-42013, la semplicità con la quale questa vulnerabilità potrà essere sfruttata dagli attaccanti è preoccupante. È sufficiente una banale chiamata HTTP via curl per recuperare, ad esempio, il contenuto del file /etc/passwd:

curl --silent --path-as-is --insecure "$host/cgi-bin/.%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd"; done

Cos’è un attacco path-traversal? Alcuni servizi permettono di richiamare, più o meno direttamente, file presenti sul disco del server ospitante. Come nel caso di un server web, che invia ai client il contenuto HTTP dei files del sito (es. index.html). Un sito web, infatti, altro non è che una serie di files contenuti in una o più directory (generalmente c’è una directory radice e poi le varie sottodirectory). In sostanza, l’anatomia di un sito web si sviluppa partendo da una certa directory radice (es. /var/www/) e, da lì, attraverso files e sottodirectory:

/index.html
/info.html
/prodotti/prodotto_a.html
...

I server http, che si occupano di restare in ascolto sulle porte TCP (in genere 80, http, e 443, https) e di gestire le richieste che arrivano dai browser degli utenti, effettuano per ogni sito web una sorta di “gabbia” (chrooting) per evitare che una richiesta possa uscire dall’ambiente protetto del sito web stesso. e restituire files sensibili di sistema. Oltre a questo, un server http adeguatamente configurato viene eseguito con i privilegi utente limitati (es. utente www-data), così che una potenziale vulnerabilità non possa compromettere –almeno non troppo facilmente– il sistema stesso.

La vulnerabilità che viene descritta in questi due CVE consente a un attaccante, in questo caso qualsiasi utente, di sfruttare due errori di programmazione: “An attacker could use a path traversal attack to map URLs to files outside the directories configured by Alias-like directives. If files outside of these directories are not protected by the usual default configuration “require all denied”, these requests can succeed. If CGI scripts are also enabled for these aliased pathes, this could allow for remote code execution.

Quindi, ricapitolando, le due versioni di Apache HTTP server compromesse, la 2.4.49 e la 2.4.50 (che tentava di correggere, in modo insufficiente, la “falla” nel 2.4.49), permettono a un attaccante di recuperare un file fuori dalla struttura “protetta” del sito web e, nel caso il modulo mod_cgi (che consente l’esecuzione di cgi-bin, file eseguibili concepiti per offrire servizi dinamici, ormai superati da altre tecnologie), anche di eseguire codice sul server bersaglio.

Si tratta di una vulnerabilità molto grave che mette a repentaglio, soprattutto nella sua forma peggiore (ovvero l’esecuzione di codice sul server bersaglio), l’integrità, la disponibilità e la riservatezza dei dati ivi contenuti.

Da una ricerca mirata su un portale specifico per la ricerca di vulnerabilità, risulterebbero essere compromessi oltre 6000 server in tutto il mondo.

Se avete server Apache HTTP sotto la vostra responsabilità, suggerisco di verificare nel più breve tempo possibile la versione e aggiornare, in ogni caso, all’ultima disponibile: la 2.4.51. Nel caso, comunque, si fossero avute le due versioni “incriminate”, per scongiurare compromissioni già avvenute da parte di attori malevoli, suggerisco di procedere a una re-installazione completa del sistema.


Questo articolo è stato visto 19 volte (Oggi 1 visite)

Hai imparato qualcosa di nuovo?

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.