Эксперт исследовательского центра Positive Research компании Positive Technologies Владимир Кочетков обнаружил опасную уязвимость в приложении nginx.
Впервые об уязвимости стало известно на форуме Positive Hack Days 2012, организованном компанией Positive Technologies, в рамках доклада Владимира Кочеткова «Взломать сайт на ASP.NET? Сложно, но можно!»
Ошибка позволяет злоумышленнику с помощью специально сформированного HTTP-запроса обойти существующие правила, определённые в директивах location. Конкретно, при сопоставлении URL запрошенного ресурса с локациями, определёнными в конфигурации веб-сервера, не учитывалась существующая в файловой системе NTFS возможность адресовать каталог с использованием расширенного синтаксиса через атрибут: $i30:$INDEX_ALLOCATION. Воспользовавшись недостаточной защищенностью nginx, потенциальный хакер может получить доступ к исходному коду веб-приложения и закрытым разделам сайта, обнаружить новые уязвимости, похитить пароли подключения к базе данных и другим службам.
Для устранения уязвимости необходимо установить последнюю стабильную версию nginx 1.2.1 с сайта производителя. Если переход на новую версию приложения затруднен, можно воспользоваться временным решением, представленным в детальном описании уязвимости http://www.securitylab.ru/lab/PT-2012-06. Подробный список внесенных изменений приведён на официальном сайте разработчика по адресу: http://www.nginx.org/en/CHANGES-1.2.
Nginx — это лёгкий и высокопроизводительный веб-сервер, написанный Игорем Сысоевым и быстро завоевавший популярность во всем мире. По данным Netcraft, он занимает второе место в мире по распространённости среди активных сайтов, уступая лишь Apache. Число ресурсов, использующих nginx, превышает 68 млн; среди них такие известные проекты, как Yandex, Rambler, Facebook, Mail.Ru, «Вконтакте», WordPress.com, Rutracker.org и Groupon.