CVE-2021-42013: path traversal in Apache 2.4.50, verifica e correzione
Ultimo aggiornamento:
Apache HTTP Server 2.4.50 ha corretto CVE-2021-41773, ma non del tutto: codificando il punto due volte (%%32%65, dove %32 è 2 e %65 è e) si usciva ancora dalle cartelle mappate. Colpisce 2.4.49 e 2.4.50, con gli stessi effetti: file fuori dalla document root ed esecuzione di codice dove CGI è attivo.
Apache l'ha corretta in 2.4.51, rilasciata tre giorni dopo 2.4.50.
In sintesi
- CVE
- CVE-2021-42013
- Software
- Apache HTTP Server
- Versioni colpite
- 2.4.49 e 2.4.50
- Corretta in
- 2.4.51
- Punteggio CVSS
- 9.8 Critica (NVD, CVSS 3.1) ·
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - CISA Known Exploited Vulnerabilities
- Sì, aggiunta il 3 novembre 2021
- Pubblicata da NVD
- 7 ottobre 2021
- Patch virtuale InfraFence
vp-cve-2021-42013(ModSecurity id 9920002)
Cosa è colpito
Solo Apache 2.4.49 e 2.4.50. Come per CVE-2021-41773, i file sono esposti dove <Directory /> non mantiene il Require all denied predefinito, e il codice viene eseguito dove mod_cgi o mod_cgid serve una cartella con alias come /cgi-bin/.
Verificare se un server è vulnerabile
Controlla la versione:
apache2 -vhttpd -v/usr/local/apache2/bin/httpd -vSu 2.4.49 o 2.4.50 controlla che la radice del file system neghi l'accesso e se è caricato un modulo CGI:
sudo grep -rn -A3 '<Directory />' /etc/apache2/ /etc/httpd/ /usr/local/apache2/conf/ 2>/dev/nullsudo apachectl -M 2>/dev/null | grep -i cgiI tentativi lasciano punti codificati nei log di accesso:
sudo grep -rhiE '\.%2e/|%2e\./|%2e%2e/|%%32%65|\.%%32' --include='*access*' --exclude='*.gz' /var/log/apache2 /var/log/httpd 2>/dev/null | tail -20Correggere
Aggiorna a 2.4.51 o successiva (l'aggiornamento riavvia Apache: scegli un momento tranquillo):
sudo apt-get update
sudo apt-get install --only-upgrade apache2
apache2 -vsudo dnf upgrade httpd
httpd -vRicompila un'installazione dai sorgenti dalla release 2.4 corrente, oppure scarica una nuova immagine container. Tieni chiusa la radice del file system e ricarica:
<Directory />
AllowOverride None
Require all denied
</Directory>sudo apachectl configtest && sudo apachectl gracefulAttenzione: Richieste riuscite (stato 200) con punti a doppia codifica nei log significano che dei file potrebbero essere stati letti e, con CGI, dei comandi eseguiti: analizza il server prima di fidarti di nuovo.
Come InfraFence la blocca mentre aggiorni
La patch virtuale per CVE-2021-42013 è una regola ModSecurity sul percorso grezzo della richiesta: blocca il punto a doppia codifica (%%32%65, %%32e, .%%32, %2%65). Applicala insieme alla patch per CVE-2021-41773, che blocca la forma a codifica singola.
Come viene applicata la patch
- L'agente annota quali porte SSH e quali siti rispondono.
- Scrive la regola (id ModSecurity 9920002) tra i propri marcatori nel suo file ModSecurity, esegue
apachectl configteste ricarica Apache in modo graceful. Se il test fallisce, rimette il file precedente. - Controlla che SSH e i siti rispondano ancora e, se non è così, rimuove la patch.
- Controlla che ModSecurity blocchi davvero con la regola, con una richiesta di prova locale innocua. Un ModSecurity in
DetectionOnlysi limita a registrare: la patch viene allora rimossa e segnalata come inefficace, mai come applicata.
Ogni richiesta bloccata dalla patch viene segnalata con CVE-2021-42013 (agente 1.0.37 o successivo): vedi i tentativi nell'attività del server e nella pagina Sfruttamento della dashboard, quindi sai che qualcuno sta provando la vulnerabilità contro di te.
Attenzione: Una patch virtuale blocca la forma nota dell'attacco nelle richieste che passano da Apache su quel server. Non sostituisce l'aggiornamento: installa la versione corretta, poi rimuovi la patch da Attività con Annulla se non ti serve più.
Le patch virtuali richiedono Apache con ModSecurity, l'impostazione Consenti modifiche alla configurazione del web server e nessun pannello di hosting o strumento di configuration management che gestisca il web server; fanno parte del piano Pro e di AutoMode. Le applica una persona a partire dall'analisi AI, oppure AutoMode. Vedi Patch virtuali.
Fonti
I dati di questa pagina vengono da queste fonti; controllale per eventuali aggiornamenti.
Provalo gratis su 1 server
Starter è gratuito per un server, con protezione completa e blocco automatico. Senza carta di credito.
Installa l'agent come root, con il tuo token al posto di <TOKEN>:
curl -fsSL https://github.com/infrafence/infrafence-agent/releases/latest/download/install.sh | sudo bash -s -- --token <TOKEN>Il token si crea nella dashboard, in Server › Aggiungi server.
