CVE-2021-42013

Apache HTTP Server

ВЫСОКАЯ ВЕРОЯТНОСТЬ

Дата обнаружения

2021-11-03

Официальное описание

Apache HTTP Server contains a path traversal vulnerability that allows an attacker to perform remote code execution if files outside directories configured by Alias-like directives are not under default require all denied or if CGI scripts are enabled. This CVE ID resolves an incomplete patch for CVE-2021-41773.

🛡️
Технический анализ и план устранения

Суть уязвимости

Атакующий может отправить специально сформированный HTTP-запрос с последовательностями %2e и %2f (кодированные символы . и /) для обхода проверок пути. Это позволяет получить доступ к файлам за пределами директорий, настроенных с помощью директив Alias, и, если включена обработка CGI-скриптов, выполнить произвольный код на сервере.

Как исправить

Обновите Apache HTTP Server до версии с исправлением: * Apache 2.4.50 или новее. * Apache 2.4.51 (рекомендуется, так как 2.4.50 содержала неполное исправление).

Для Debian/Ubuntu:

sudo apt update
sudo apt install apache2

Для RHEL/CentOS/AlmaLinux/Rocky Linux:

sudo yum update httpd

Для Windows: Установите последнюю версию Apache с официального сайта, заменив существующую установку.

Временное решение

Если немедленное обновление невозможно: 1. Отключите CGI-скрипты для всех уязвимых Alias-путей, если они не требуются. apache # В конфигурации виртуального хоста или .htaccess <Directory "/path/to/aliased/dir"> Options -ExecCGI RemoveHandler .cgi .pl .py .sh </Directory> 2. Ужесточите политики доступа для всех Alias-путей, явно запретив доступ ко всему, кроме необходимого. apache <Directory "/path/to/aliased/dir"> Require all denied </Directory> <Directory "/path/to/aliased/dir/allowed-subdir"> Require all granted </Directory> 3. Настройте WAF (например, ModSecurity) на блокировку запросов, содержащих последовательности %2e, %2f или их двойное кодирование в пути URL.