Наскоро новината съобщи това откри нов вектор на атака срещу http сървъра на Apache, която остана неизправена в актуализацията 2.4.50 и позволява достъп до файлове от области извън основната директория на сайта.
Освен това изследователите са намерили начин, че при наличието на определени конфигурации нестандартни, не само чете системните файлове, но и работи дистанционно вашия код на сървъра.
CVE-2021-41773 на Apache HTTP сървър 2.4.50 беше недостатъчен. Нападателят може да използва атака за пресичане на пътя, за да картографира URL адреси към файлове извън директории, конфигурирани от директиви, подобни на псевдонимите. Ако файловете извън тези директории не са защитени от обичайните настройки „изискват всички отказани“ по подразбиране, тези искания може да са успешни. Ако CGI скриптове също са активирани за тези псевдоними, това може да позволи отдалечено изпълнение на код. Този проблем засяга само Apache 2.4.49 и Apache 2.4.50, но не и по -ранните версии.
По същество, новият проблем (вече изброен като CVE-2021-42013) тя е напълно подобна на първоначалната уязвимост (CVE-2021-41773) в 2.4.49, единствената разлика е в различното кодиране на знаци.
И това е, по -специално, във версия 2.4.50 беше блокирана възможността за използване на последователността "% 2e" за кодиране на точка, но даизгубихме възможността за двойно кодиране: Когато се посочва последователността "%% 32% 65", сървърът се декодира в "% 2e", а след това в ".", Тоест Символите "../" за преминаване към предишната директория могат да бъдат кодирани като ". %% 32% 65 / ».
И двата CVE са всъщност една и съща уязвимост при пресичане на пътя (втората е непълната корекция за първата). Обхождането на пътя работи само от картографиран URI (например чрез Apache "Alias" или "ScriptAlias" директиви). DocumentRoot сам по себе си не е достатъчен
Относно експлоатацията на уязвимост чрез изпълнение на код, това е възможно, ако mod_cgi е активиран и се използва базов път, в който CGI скриптове могат да се изпълняват (например, ако директивата ScriptAlias е активирана или флагът ExecCGI е посочен в директивата Options).
Споменава се, че предпоставка за успешна атака е също така изрично да се предостави в конфигурацията на Apache достъп до директории с изпълними файлове, като / bin, или достъп до корен на FS " /". Тъй като такъв достъп обикновено не се предоставя, атаката за изпълнение на код е малко полезна за реалните системи.
RCE експлоатация както за Apache 2.4.49 (CVE-2021-41773), така и за 2.4.50 (CVE-2021-42013):
root @ CT406: ~ # curl 'http://192.168.0.191/cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.% % 32% 65 / bin / sh '–data' echo Content-Type: текст / обикновен; изхвърлен; отивам '
uid = 1 (демон) gid = 1 (демон) групи = 1 (демон)- ☠ Роман Медина-Хайгл Ернандес (@roman_soft) Октомври 7, 2021
В същото време, атаката срещу получаване на файлово съдържание произволни системни кодове и изходни текстове на уеб скриптове, които са достъпни за четене от потребителя под който работи http сървърът е все още актуален. За да извършите такава атака, просто задайте директория на сайта, конфигурирана с помощта на директивите „Alias“ или „ScriptAlias“ (DocumentRoot не е достатъчен), като например „cgi-bin“.
В допълнение към това той споменава, че проблемът засяга главно непрекъснато актуализираните дистрибуции (Rolling Releases) като Fedora, Arch Linux и Gentoo, както и FreeBSD портове.
Докато дистрибуциите на Linux, базирани на стабилни клонове на сървърните дистрибуции като Debian, RHEL, Ubuntu и SUSE, не са уязвими. Проблемът не се появява, ако достъпът до директории е изрично отказан, като се използва настройката „изисква всички отказани“.
Струва си да се спомене и това На 6-7 октомври Cloudflare регистрира повече от 300 XNUMX опита за използване на уязвимостта CVE-2021-41773 на ден. През повечето време, в резултат на автоматизирани атаки, те изискват съдържанието на „/cgi-bin/.%2e/.git/config“, „/cgi-bin/.%2e/app/etc/local.xml "," /Cgi-bin/.% 2e/app/etc/env.php "и" /cgi-bin/.%2e/%2e%2e/%2e%2e/etc/passwd ".
Проблемът се проявява само във версии 2.4.49 и 2.4.50, предишните версии на уязвимостта не са засегнати. За да се поправи новият вариант на уязвимостта, бързо се формира версията на Apache httpd 2.4.51.
Накрая Ако се интересувате да научите повече за това, можете да проверите подробностите В следващия линк.