Обновление nginx 1.4.4 с устранением уязвимости

20 ноября 2013 года

Выпущены внеплановое обновление стабильной ветки http-сервера nginx 1.4.4 и экспериментальный выпуск nginx 1.5.7 в которых устранена уязвимость (CVE-2013-4547), позволяющая обойти ограничения доступа к закрытым областям сайта, при наличии на сервере директорий c именем, заканчивающимся на символ пробела. Проблема выявлена командой Google Security Team и проявляется во всех выпусках начиная с версии 0.8.41.

Суть проблемы сводится к возможности обхода блоков "location" через косвенное обращения к ресурсу с использованием разрешённой директории с пробелом в конце имени. В частности, если на сервере публично доступна директория "foo " и закрыт доступ к директории "protected" с использованием правила "location /protected/ { deny all; }", то получить доступ к содержимому директории "protected" можно отправив запрос "/foo /../protected/file" вместо "/protected/fire". Другим проявлением может стать возможность обращения в форме "/file \\0.php" к скриптам с пробелом в имени при наличии правила "location ~ \\.php$ { }".

При отправке таких запросов, этот сервер ограничивается проверкой маски в блоке до неэкранированного пробела. Причиной уязвимости является добавленный в версии nginx 0.8.41 код для обеспечения совместимости с некоторыми проблемными клиентскими приложениями, допускающий использование неэкранированных пробелов в URI, несмотря на недопустимость таких символов в протоколе HTTP (в URI должен фигурировать "%20", а не " ").

Пользователям прошлых версий nginx предложено использовать патч или заблокировать проявление проблемы обходным путём, добавив в блок server{} конфигурации:


if ($request_uri ~ " ") {
return 444;
}

Источники

править
 
 
Creative Commons
Эта статья содержит материалы из статьи «Обновление nginx 1.4.4 с устранением уязвимости», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.