InfraFenceInfraFence

Live Security Operations

Inizia

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:

Debian / Ubuntu
apache2 -v
Famiglia RHEL
httpd -v
Compilato dai sorgenti (prefisso predefinito)
/usr/local/apache2/bin/httpd -v

Su 2.4.49 o 2.4.50 controlla che la radice del file system neghi l'accesso e se è caricato un modulo CGI:

Qualsiasi distribuzione
sudo grep -rn -A3 '<Directory />' /etc/apache2/ /etc/httpd/ /usr/local/apache2/conf/ 2>/dev/null
Qualsiasi distribuzione
sudo apachectl -M 2>/dev/null | grep -i cgi

I tentativi lasciano punti codificati nei log di accesso:

Log di accesso di Apache
sudo grep -rhiE '\.%2e/|%2e\./|%2e%2e/|%%32%65|\.%%32' --include='*access*' --exclude='*.gz' /var/log/apache2 /var/log/httpd 2>/dev/null | tail -20

Correggere

Aggiorna a 2.4.51 o successiva (l'aggiornamento riavvia Apache: scegli un momento tranquillo):

Debian / Ubuntu
sudo apt-get update
sudo apt-get install --only-upgrade apache2
apache2 -v
Famiglia RHEL
sudo dnf upgrade httpd
httpd -v

Ricompila un'installazione dai sorgenti dalla release 2.4 corrente, oppure scarica una nuova immagine container. Tieni chiusa la radice del file system e ricarica:

httpd.conf / apache2.conf
<Directory />
    AllowOverride None
    Require all denied
</Directory>
Qualsiasi distribuzione
sudo apachectl configtest && sudo apachectl graceful

Attenzione: 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

  1. L'agente annota quali porte SSH e quali siti rispondono.
  2. Scrive la regola (id ModSecurity 9920002) tra i propri marcatori nel suo file ModSecurity, esegue apachectl configtest e ricarica Apache in modo graceful. Se il test fallisce, rimette il file precedente.
  3. Controlla che SSH e i siti rispondano ancora e, se non è così, rimuove la patch.
  4. Controlla che ModSecurity blocchi davvero con la regola, con una richiesta di prova locale innocua. Un ModSecurity in DetectionOnly si 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.