В сети уже появились прототипы эксплоитов (1, 2) для проверки подверженности систем уязвимости, достоверность и безопасность которых пока не подтверждена. В примечании к эксплоиту утверждается, что уязвимости вызваны обращением к уже освобождённой памяти в обработчике отслеживания прогресса загрузки файлов на сервер (session.upload_progress).
В качестве обходного пути защиты встречаются рекомендации выставить в php.ini параметр «session.upload_progress.enabled = off» (или «php_admin_flag[session.upload_progress.enabled] = off» в PHP-FPM), но представитель проекта PHP, а также автор первого прототипа эксплоита утверждают, что для блокирования проблемы этого недостаточно. В примечании к второму прототипу эксплоита упоминается, что помимо вышеупомянутой настройки в php.ini для предотвращения атаки требуется блокировка запросов с типом контента «multipart/form-data».
В Apache httpd для блокировки multipart-запросов можно использовать следующее правило в mod_rewrite:
RewriteCond %{HTTP:Content-Type} multipart [NC]
RewriteRule ^ - [F,L]
Для блокировки в nginx:
if ($http_content_type ~* "multipart") {
return 403;
}
Для блокировки в Caddy:
@multipart header_regexp Content-Type (?i)multipart respond @multipart 403
Источник: http://www.opennet.ru/opennews/art.shtml?num=66516
