Хакерская группировка BlueHornet сообщила, что в ее распоряжении есть работающий эксплоит для уязвимости в Nginx 1.18. Разработчики Nginx подтвердили, что проблема, о которой писали хакеры, существует и рассказали, как с ней бороться.
Сообщения о некой 0-day уязвимости в Nginx появились в Twitter BlueHornet (в настоящее время твиты скрыты от посторонних глаз) еще в минувшие выходные. Хакеры писали, что в ходе тестирования эксплоита от него пострадали «несколько компаний и корпораций». В беседе с ИБ-исследователем хакеры рассказали, что эксплоит состоит из двух частей, и всё начинается с LDAP-инъекции.
Вскоре представители BlueHornet заявили, что поделятся информацией о проблеме с командой безопасности Nginx через HackerOne или через внутреннюю платформу. Позже группа создала страницу на GitHub, где подробно объяснила, как проблема была обнаружена, и как она работает.
«Этот эксплойт нам предоставила наша дочерняя группировка BrazenEagle, которая разрабатывала его несколько недель, или как минимум с тех пор, как появилась [уязвимость] Spring4Shell, — писали BlueHornet. — Поначалу мы были в замешательстве, поскольку LDAP мало взаимодействует с Nginx, однако вместе с Nginx применяется демон ldap-auth. В основном он используется для получения доступа к частным экземплярам GitHub, Bitbucket, Jekins и GitLab. По мере того как продолжались исследования, [стало ясно, что] модуль, относящийся к демону LDAP-auth в nginx, сильно затронут [уязвимостью]. Всё, что связано с необязательными входами в систему посредством LDAP, тоже, включая учетные записи Atlassian».
В итоге члены BlueHornet утверждали, что уязвимы любые конфигурации Nginx по умолчанию, и рекомендовали пользователям отключить определенные функции для защиты. Также группа раскритиковала разработчиков Nginx за то, что те не отвечают на их сообщения.
Как теперь сообщили разработчики, опубликовавшие посвященный заявлениям BlueHornet пост в блоге, проблеме могут быть подвержены только эталонные реализации, но она не касается Nginx Open Source и Nginx Plus, то есть от пользователей не требуется никаких действий, если речь идет не об эталонной реализации.
При этом даже эталонные реализации могут быть уязвимы лишь при соблюдении ряда условий, включая использование командной строки для конфигурации демона Python, использование ряда необязательных параметров и случаев, когда LDAP-аутентификация зависит от членства в группе. В блоге разработчики разобрали каждый такой случай отдельно и объяснили, как смягчить влияние проблемы.