Серьезная уязвимость в ModSecurity v3 (CVE-2024-1019) | Немезида ВАФ

В популярном WAF ModSecurity (libModSecurity) обнаружена уязвимость CVE-2024-1019 с уровенем 8.6 (ВЫСОКИЙ) по CVSS 3.1, позволяющая произвести обход защиты. Уязвимость возникает из-за декодирования символов URL-адреса в запросе до определения компонента пути URL-адреса запроса и дополнительного компонента строки запроса. Передавая символ %3F в URL-адресе, ModSecurity производит декодирование и ошибочно интерпретирует ? как символ отделения URL-адреса от строки запроса.

Информация представлена в ознакомительных целях, не нарушайте законодательство

Пример обхода:

example.com/admin/id/1%3F+OR+1=1--

Применение техники обхода основано на использовании переменных REQUEST_FILENAME (относительный URI, исключая строку запроса, например, /admin/index.php) и REQUEST_BASENAME (только часть с именем файла, например index.php) при обработке запроса.

После декодирования символа %3F значения переменных REQUEST_FILENAME и REQUEST_BASENAME будут определены как:

REQUEST_FILENAME: /admin/id/1
REQUEST_BASENAME: 1

Обработка запроса правилами, основанными на обработке значений этих переменных, не позволит выявить признаки атаки. Уязвимости подвержены версии компонента от 3.0.0 до 3.0.11.

Для устранения уязвимости рекомендуется произвести обновление компонента до актуальной версии.