CVE-2021-42013: Path Traversal in Apache 2.4.50, prüfen und beheben
Zuletzt aktualisiert:
Apache HTTP Server 2.4.50 hat CVE-2021-41773 behoben, aber nicht vollständig: Den Punkt doppelt zu kodieren (%%32%65, wobei %32 für 2 und %65 für e steht), führte weiterhin aus den freigegebenen Ordnern hinaus. Betroffen sind 2.4.49 und 2.4.50, mit denselben Folgen: Dateien außerhalb des Document Root und Codeausführung, wo CGI aktiv ist.
Apache hat sie in 2.4.51 behoben, drei Tage nach 2.4.50 veröffentlicht.
Auf einen Blick
- CVE
- CVE-2021-42013
- Software
- Apache HTTP Server
- Betroffene Versionen
- 2.4.49 und 2.4.50
- Behoben in
- 2.4.51
- CVSS-Score
- 9.8 Kritisch (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
- Ja, aufgenommen am 3. November 2021
- Von der NVD veröffentlicht
- 7. Oktober 2021
- Virtueller Patch von InfraFence
vp-cve-2021-42013(ModSecurity id 9920002)
Was betroffen ist
Nur Apache 2.4.49 und 2.4.50. Wie bei CVE-2021-41773 liegen Dateien offen, wo <Directory /> das standardmäßige Require all denied nicht beibehält, und Code läuft, wo mod_cgi oder mod_cgid einen Ordner mit Alias wie /cgi-bin/ bedient.
Prüfen, ob ein Server verwundbar ist
Prüfe die Version:
apache2 -vhttpd -v/usr/local/apache2/bin/httpd -vPrüfe bei 2.4.49 oder 2.4.50, ob die Dateisystem-Wurzel den Zugriff verweigert und ob ein CGI-Modul geladen ist:
sudo grep -rn -A3 '<Directory />' /etc/apache2/ /etc/httpd/ /usr/local/apache2/conf/ 2>/dev/nullsudo apachectl -M 2>/dev/null | grep -i cgiVersuche hinterlassen kodierte Punkte in den Access-Logs:
sudo grep -rhiE '\.%2e/|%2e\./|%2e%2e/|%%32%65|\.%%32' --include='*access*' --exclude='*.gz' /var/log/apache2 /var/log/httpd 2>/dev/null | tail -20Beheben
Aktualisiere auf 2.4.51 oder neuer (das Update startet Apache neu, wähle also einen ruhigen Moment):
sudo apt-get update
sudo apt-get install --only-upgrade apache2
apache2 -vsudo dnf upgrade httpd
httpd -vBaue eine Installation aus dem Quellcode aus dem aktuellen 2.4-Release neu, oder hol dir ein neues Container-Image. Halte die Dateisystem-Wurzel geschlossen und lade neu:
<Directory />
AllowOverride None
Require all denied
</Directory>sudo apachectl configtest && sudo apachectl gracefulAchtung: Erfolgreiche Anfragen (Status 200) mit doppelt kodierten Punkten in den Logs bedeuten, dass Dateien gelesen und, mit CGI, Befehle ausgeführt worden sein könnten: Untersuche den Server, bevor du ihm wieder vertraust.
Wie InfraFence sie blockiert, während du aktualisierst
Der virtuelle Patch für CVE-2021-42013 ist eine ModSecurity-Regel auf dem rohen Pfad der Anfrage: Die Regel blockiert den doppelt kodierten Punkt (%%32%65, %%32e, .%%32, %2%65). Wende ihn zusammen mit dem Patch für CVE-2021-41773 an, der die einfach kodierte Form blockiert.
Wie der Patch angewendet wird
- Der Agent notiert, welche SSH-Ports und Websites antworten.
- Er schreibt die Regel (ModSecurity-ID 9920002) zwischen seine eigenen Markierungen in seiner ModSecurity-Datei, führt
apachectl configtestaus und lädt Apache sanft neu. Schlägt der Test fehl, wird die vorherige Datei zurückgespielt. - Er prüft, ob SSH und die Websites weiterhin antworten, und entfernt den Patch, wenn nicht.
- Er prüft mit einer harmlosen lokalen Testanfrage, ob ModSecurity mit der Regel wirklich blockiert. Ein ModSecurity im Modus
DetectionOnlyprotokolliert nur: Der Patch wird dann entfernt und als unwirksam gemeldet, nie als angewendet.
Jede Anfrage, die der Patch blockiert, wird mit CVE-2021-42013 gemeldet (Agent 1.0.37 oder neuer): Du siehst die Versuche in der Aktivität des Servers und auf der Seite Ausnutzung im Dashboard und weißt so, dass die Schwachstelle gegen dich ausprobiert wird.
Achtung: Ein virtueller Patch blockiert die bekannte Form des Angriffs bei den Anfragen, die auf diesem Server über Apache laufen. Er ersetzt das Update nicht: Installiere die behobene Version und entferne den Patch dann unter Aktivität mit Rückgängig, wenn du ihn nicht mehr brauchst.
Virtuelle Patches brauchen Apache mit ModSecurity, die Einstellung Änderungen an der Webserver-Konfiguration erlauben und kein Hosting-Panel oder Konfigurationsmanagement-Tool, das den Webserver verwaltet; sie gehören zum Plan Pro und zu AutoMode. Ein Mensch wendet sie aus der KI-Analyse an, oder AutoMode tut es. Siehe Virtuelle Patches.
Quellen
Die Fakten auf dieser Seite stammen aus diesen Quellen; prüfe sie auf Änderungen.
Kostenlos auf 1 Server testen
Starter ist für einen Server kostenlos, mit vollem Schutz und automatischen Sperren. Ohne Kreditkarte.
Installiere den Agenten als root, mit deinem Token anstelle von <TOKEN>:
curl -fsSL https://github.com/infrafence/infrafence-agent/releases/latest/download/install.sh | sudo bash -s -- --token <TOKEN>Das Token erstellst du im Dashboard unter Server › Server hinzufügen.
