
Proof-of-concept exploit per il path traversal di Apache HTTP Server 2.4.49 (CVE-2021-41773) che consente la lettura di file e l'esecuzione di codice remoto tramite CGI.
Il 5 ottobre 2021 è stata rilasciata una CVE relativa a un attacco di path traversal su Apache HTTP Server v2.4.49. Identificata con il numero CVE-2021-41773, è stata pubblicata con la seguente descrizione:
È stato riscontrato un difetto in una modifica apportata alla normalizzazione dei percorsi in Apache HTTP Server 2.4.49. Un attaccante potrebbe utilizzare un attacco di path traversal per mappare gli URL a file al di fuori della document root prevista. Se i file al di fuori della document root non sono protetti da "require all denied", queste richieste possono avere successo. Inoltre (sic) questa vulnerabilità potrebbe divulgare il sorgente di file interpretati come gli script CGI. Questo problema è noto per essere sfruttato in the wild. Questo problema riguarda solo Apache 2.4.49 e non le versioni precedenti.
[+] Apache 2.4.49 senza CGI abilitato, possiamo solo leggere file. Accediamo semplicemente ai file che vogliamo, codificando tramite URL uno dei . in ogni segmento del percorso.
[+] Apache 2.4.49 con CGI abilitato Il CGI complica le cose, poiché il modulo tenterà di eseguire il file recuperato. Per file di testo semplice come /etc/passwd, questo può essere problematico :). Per eseguire codice, possiamo semplicemente chiamare sh o bash con il comando nel corpo. Nota che l'header della risposta Content-Type dovrà anche essere emesso affinché il client sappia come visualizzare i risultati.
[+] Apache 2.4.50 Questo esempio particolare è stato corretto nella versione 2.4.50. Tuttavia, la correzione era incompleta e non teneva conto di una doppia codifica dell'URL.