
Эксплойт для проверки концепции обхода пути в Apache HTTP Server 2.4.49 (CVE-2021-41773), позволяющий читать файлы и выполнять удаленный код через CGI.
5 октября 2021 года была опубликована CVE, описывающая атаку обхода пути на Apache HTTP Server v2.4.49. Ей был присвоен номер CVE-2021-41773, и она была опубликована со следующим описанием:
Была обнаружена ошибка в изменении, внесённом в нормализацию путей в Apache HTTP Server 2.4.49. Злоумышленник может использовать атаку обхода пути для сопоставления URL с файлами за пределами ожидаемого корневого каталога документов. Если файлы за пределами корневого каталога не защищены директивой "require all denied", такие запросы могут быть успешными. Кроме того (sic), эта ошибка может привести к утечке исходного кода интерпретируемых файлов, таких как CGI-скрипты. Известно, что данная проблема эксплуатируется в реальных условиях. Эта проблема затрагивает только Apache 2.4.49, но не более ранние версии.
[+] Apache 2.4.49 без включённого CGI, мы можем только читать файлы. Мы просто обращаемся к нужным файлам, URL-кодируя одну из точек в каждом сегменте пути.
[+] Apache 2.4.49 с включённым CGI CGI усложняет ситуацию, так как модуль попытается выполнить полученный файл. Для простого текста, например /etc/passwd, это может быть проблематично :). Чтобы выполнить код, мы можем просто вызвать sh или bash с командой в теле запроса. Обратите внимание, что также необходимо будет отправить заголовок ответа Content-Type, чтобы клиент знал, как отобразить результаты.
[+] Apache 2.4.50 Этот конкретный пример был исправлен в версии 2.4.50. Однако исправление было неполным и не учитывало двойное кодирование URL.