Ein neuer Angriffsvektor auf den Apache HTTP-Server wurde entdeckt, der in der Version 2.4.50 ungepatcht blieb und den Zugriff auf Dateien auĂerhalb des Root-Verzeichnisses der Website ermöglicht. DarĂŒber hinaus fanden Forscher einen Weg, der bei bestimmten nicht standardmĂ€Ăigen Einstellungen nicht nur das Lesen von Systemdateien, sondern auch die FernausfĂŒhrung eigenen Codes auf dem Server zulĂ€sst. Das Problem tritt nur in den Versionen 2.4.49 und 2.4.50 auf; Ă€ltere Versionen sind nicht betroffen. Um die neue Schwachstelle zu beheben, wurde umgehend das Update Apache httpd 2.4.51 veröffentlicht.
Das neue Problem (CVE-2021-42013) ist im Grunde identisch mit der ursprĂŒnglichen Schwachstelle (CVE-2021-41773) in 2.4.49; der einzige Unterschied liegt in der anderen Kodierung des Symbols â..â. Insbesondere wurde in der Version 2.4.50 die Möglichkeit gesperrt, die Sequenz ââ zur Kodierung des Punkts zu verwenden, doch es wurde versĂ€umt, die Möglichkeit der doppelten Kodierung zu unterbinden â indem die Sequenz â%â angegeben wurde. der Server Diese wurde dekodiert zu ââ und anschlieĂend zu â.â, d.h. die Symbole â../â fĂŒr den Wechsel zum vorherigen Verzeichnis konnten als â.%/â kodiert werden.
Was die Ausnutzung von Schwachstellen durch CodeausfĂŒhrung betrifft, ist dies möglich, wenn mod_cgi aktiviert ist und ein Basisverzeichnis verwendet wird, in dem die AusfĂŒhrung von CGI-Skripten erlaubt ist (z. B. wenn die Direktive ScriptAlias aktiviert ist oder das Flag ExecCGI in der Options-Direktive gesetzt ist). Eine weitere Voraussetzung fĂŒr den erfolgreichen Angriff ist die explizite Bereitstellung des Zugriffs auf Verzeichnisse mit ausfĂŒhrbaren Dateien, wie z. B. /bin, in den Apache-Einstellungen, oder der Zugriff auf das Root-Verzeichnis â/â. Da dieser Zugang in der Regel nicht gewĂ€hrt wird, ist ein CodeausfĂŒhrungsangriff in realen Systemen kaum praktikabel.
Die Bedrohung durch Angriffe zur Auslesung beliebiger Systemdateien und Quelltexte von Web-Skripten, die fĂŒr den Benutzer, unter dem der HTTP-Server lĂ€uft, lesbar sind, bleibt jedoch bestehen. FĂŒr einen solchen Angriff reicht es aus, dass auf der Website ein Verzeichnis vorhanden ist, das mit Hilfe der Direktiven âAliasâ oder âScriptAliasâ konfiguriert wurde (DocumentRoot ist nicht ausreichend), wie zum Beispiel âcgi-binâ.
Beispiel eines Exploits, der es ermöglicht, das Tool âidâ auf Server: curl âhttp://192.168.0.1/cgi-bin/.%/.%/.%/.%/.%/bin/shâ âdata âecho Content-Type: text/plain; echo; idâ uid=1(daemon) gid=1(daemon) groups=1(daemon)
Beispiel-Exploits, die es ermöglichen, den Inhalt /etc/passwd und eines der Web-Skripte auszugeben (fĂŒr die Bereitstellung des Skriptcodes als Basis muss ein ĂŒber die Direktive âAliasâ angegebener Ordner verwendet werden, fĂŒr den die AusfĂŒhrung von Skripten nicht aktiviert ist): curl âhttp://192.168.0.1/cgi-bin/.%/.%/.%/.%/.%/etc/passwdâ curl âhttp://192.168.0.1/aliaseddir/.%/.%/.%/.%/.%/usr/local/apache2/cgi-bin/test.cgiâ
Das Problem betrifft hauptsĂ€chlich kontinuierlich aktualisierte Distributionen wie Fedora, Arch Linux und Gentoo sowie Ports von FreeBSD. Pakete in stabilen Zweigen konservativer Server-Distributionen wie Debian, RHEL, Ubuntu und SUSE sind nicht anfĂ€llig fĂŒr diese Schwachstelle. Das Problem tritt nicht auf, wenn der Zugriff auf Verzeichnisse ausdrĂŒcklich mit der Konfiguration ârequire all deniedâ verweigert wird.
Quelle: opennet.ru
