В Apache 2.4.50 исправлена опасная уязвимость нулевого дня

Apache LogoРазработчики веб-сервера Apache в экстренном порядке выпустили версию 2.4.50, в которой была устранена опасная уязвимость нулевого дня. Сообщается, что уязвимость уже вовсю эксплуатируется злоумышленниками.

Уязвимости присвоен идентификатор CVE-2021-41773. Хорошая новость состоит в том, что данному багу подвержены только веб-серверы с Apache 2.4.49 на борту. В стабильные ветки консервативных серверных дистрибутивов Apache 2.4.49 ещё не вошёл (Debian, RHEL, Ubuntu, SUSE), но он оказался в непрерывно обновляемых дистрибутивах (Fedora, Arch Linux, Gentoo и порты FreeBSD). Также уязвимый сервер должен иметь отключенный параметр «require all denied». Однако это конфигурация по умолчанию, так что данный момент спасёт немногих.

Суть бага состоит в том, что он позволяет получить доступ к файлам из областей вне корневого каталога сайта. При помощи уязвимости можно загрузить произвольные системные файлы и исходные тексты веб-скриптов, доступные для чтения пользователю, под которым запущен веб-сервер.

Уязвимость вызвана ошибкой, внесённой в процессе переработки кода для нормализации путей в URL, из-за которой закодированный при помощи последовательности «%2e» символ точки в пути не нормализировался, если ему предшествовала другая точка. Таким образом, оказалась возможной подстановка неочищенных символов «../» в результирующий путь через указание в запросе последовательности «.%2e/». Например, запрос вида «https://example.com/cgi-bin/.%2e/.%2e/.%2e/.%2e/etc/passwd» или «https://example.com/cgi-bin/.%2e/%2e%2e/%2e%2e/%2e%2e/etc/hosts» позволял получить содержимое файла /etc/passwd.

Через несколько часов после выпуска Apache 2.4.50 исследователи стали публиковать свои версии эксплоитов.

В Apache 2.4.50 исправлена опасная уязвимость нулевого дня

Издание Bleeping Computer просканировало сеть и пришло к выводу, что уязвимая версия Apache установлена на более чем 100 000 устройств.

Как уже было сказано, уязвимость не проявляется, если отключен параметр «require all denied». Поэтому как частичное решение проблемы можно указать в файле конфигурации

<Directory />
      require all denied
</Directory>

Однако лучше поставить свежую версию Apache.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *