
Proof-of-Concept-Exploit für den Path-Traversal in Apache HTTP Server 2.4.49 (CVE-2021-41773), der Dateilesen und Remote-Code-Ausführung über CGI ermöglicht.
Am 5. Oktober 2021 wurde eine CVE veröffentlicht, die einen Path-Traversal-Angriff auf Apache HTTP Server v2.4.49 beschreibt. Ihm wurde die Nummer CVE-2021-41773 zugewiesen und er wurde mit folgender Beschreibung veröffentlicht:
Es wurde ein Fehler in einer Änderung der Pfadnormalisierung in Apache HTTP Server 2.4.49 gefunden. Ein Angreifer könnte einen Path-Traversal-Angriff nutzen, um URLs auf Dateien außerhalb des erwarteten Dokumentenwurzelverzeichnisses abzubilden. Wenn Dateien außerhalb des Dokumentenwurzelverzeichnisses nicht durch "require all denied" geschützt sind, können diese Anfragen erfolgreich sein. Zusätzlich (sic) könnte dieser Fehler die Quelle interpretierter Dateien wie CGI-Skripte preisgeben. Dieses Problem ist bekanntermaßen in freier Wildbahn ausgenutzt worden. Dieses Problem betrifft nur Apache 2.4.49 und nicht frühere Versionen.
[+] Apache 2.4.49 ohne CGI-Unterstützung: Wir können nur Dateien lesen. Wir greifen einfach auf die gewünschten Dateien zu, indem wir einen der Punkte in jedem Pfadsegment URL-kodieren.
[+] Apache 2.4.49 mit CGI-Unterstützung CGI wird die Sache verkomplizieren, da das Modul versuchen wird, die abgerufene Datei auszuführen. Bei Klartext wie /etc/passwd kann dies problematisch sein :). Um Code auszuführen, können wir einfach sh oder bash mit dem Befehl im Body aufrufen. Beachten Sie, dass der Content-Type-Antwortheader ebenfalls gesendet werden muss, damit der Client weiß, wie die Ergebnisse anzuzeigen sind.
[+] Apache 2.4.50 Dieses spezielle Beispiel wurde in Version 2.4.50 behoben. Die Behebung war jedoch unvollständig und berücksichtigte nicht eine doppelte Kodierung der URL.