NGINX закрыл критические уязвимости в модулях DAV и MP4 и добавил поддержку Multipath TCP

NGINX

В мире веб-серверов произошло важное событие, затрагивающее безопасность миллионов сайтов и сервисов. Разработчики NGINX выпустили обновления для стабильной (1.28.3) и основной (1.29.7) веток, устраняющие шесть уязвимостей, две из которых имеют высокий уровень опасности. Среди исправленных проблем - переполнение буфера в модуле WebDAV, способное привести к выходу за пределы корневой директории, и критические ошибки в модуле обработки видео, потенциально угрожающие целостности всей системы. Параллельно с мерами безопасности основная версия получила значительные функциональные улучшения, включая поддержку современного протокола Multipath TCP и переход на HTTP/1.1 с постоянными соединениями по умолчанию. Эти изменения подчеркивают двойной фокус проекта: оперативное реагирование на угрозы и адаптацию к современным сетевым реалиям.

Детали обновления Nginx

Центральным элементом данного патча стала уязвимость CVE-2026-27654 в модуле "ngx_http_dav_module". Данный модуль реализует протокол WebDAV, позволяющий управлять файлами на сервере через HTTP. Проблема возникала при обработке запросов COPY или MOVE в конфигурации, использующей директивы "alias" и префиксные локации. Злоумышленник, отправив специально сформированный запрос, мог спровоцировать переполнение буфера в памяти рабочего процесса NGINX. Главная опасность заключалась в возможности модификации путей к файлам за пределами установленной корневой директории документа. Однако, благодаря принципу наименьших привилегий, под которым работает рабочий процесс NGINX, потенциал для полного компрометирования системы был ограничен. Тем не менее, такая уязвимость могла привести к остановке процесса, нарушению целостности данных на сервере или стать первым шагом в цепочке более сложной атаки. По оценкам CVSS, её степень серьёзности достигает 8.8 баллов по шкале 4.0.

Не менее серьёзные проблемы были устранены в модуле "ngx_http_mp4_module", который используется для стриминга видеофайлов в формате MP4. Здесь обнаружились сразу две уязвимости. Первая, CVE-2026-27784, затрагивала исключительно 32-битные сборки NGINX и была связана с целочисленным переполнением. Вторая, CVE-2026-32647, носила более общий характер и могла привести к чтению или записи данных за пределами выделенного буфера. Обе ошибки активировались при обработке специально созданного MP4-файла и могли вызвать аварийное завершение рабочего процесса. В худшем сценарии, особенно в случае с CVE-2026-32647, теоретически возможным было выполнение произвольного кода. Это классический пример уязвимостей в коде, обрабатывающем сложные пользовательские данные, где ошибки в расчётах размеров буферов или проверках границ могут иметь катастрофические последствия. Атака требовала, чтобы злоумышленник мог загрузить свой файл на сервер или заставить сервер обработать ссылку на него, что делает риски особенно актуальными для платформ пользовательского контента.

Помимо проблем в HTTP-модулях, обновления затронули и почтовую подсистему NGINX. Уязвимость CVE-2026-27651 в модуле "ngx_mail_auth_http_module" могла привести к аварийному завершению процесса при использовании устаревших методов аутентификации CRAM-MD5 или APOP, если внешний сервер аутентификации разрешал повторные попытки. Проблема была вызвана разыменованием нулевого указателя, что является частой ошибкой программирования в условиях конкурентного выполнения. Более хитрая уязвимость CVE-2026-28753 была обнаружена в модуле "ngx_mail_proxy_module". Она связана с некорректной обработкой управляющих последовательностей CRLF в DNS-ответах. Контролируя DNS-сервер, на который опирается NGINX, злоумышленник мог внедрить произвольные заголовки в SMTP-запросы, отправляемые на вышестоящий почтовый сервер. Эта техника, известная как инъекция CRLF, открывает путь к манипуляции бизнес-логикой, обходу фильтров или спуфингу.

Отдельного внимания заслуживает уязвимость CVE-2026-28755 в потоковом модуле "ngx_stream_ssl_module". Она нарушала механизм проверки отозванных клиентских сертификатов с помощью протокола OCSP (Online Certificate Status Protocol, протокол проверки статуса сертификатов в режиме онлайн). При определённых настройках, даже если OCSP-сервер сообщал об отзыве сертификата, TLS-рукопожатие могло завершиться успешно. Это создавало брешь в системе авторизации, позволяя потенциально скомпрометированным или неавторизованным клиентам получать доступ к защищённым TCP-сервисам, таким как базы данных или специализированные протоколы, проксируемые через NGINX. Подобные ошибки в логике проверки подлинности особенно опасны в корпоративных средах с строгими требованиями соответствия.

Помимо исправлений, релиз основной ветки 1.29.7 принёс значительные нововведения. Ключевым из них стала экспериментальная поддержка протокола Multipath TCP (MPTCP). Этот протокол позволяет устанавливать одно логическое TCP-соединение через несколько сетевых интерфейсов одновременно, например, через Wi-Fi и сотовую сеть. Это повышает отказоустойчивость и может улучшить пропускную способность для мобильных клиентов. Кроме того, разработчики изменили поведение по умолчанию для HTTP: теперь NGINX использует HTTP/1.1 с включённым механизмом keep-alive для поддержания постоянных соединений, что снижает накладные расходы на установку TCP и TLS для множества запросов от одного клиента. Эти изменения демонстрируют, что NGINX продолжает эволюционировать, адаптируясь к современным сетевым технологиям и паттернам трафика.

С точки зрения последствий, описанные уязвимости представляют реальную угрозу для компаний, использующих NGINX в качестве веб-сервера, обратного прокси или почтового прокси. Уязвимости в модулях DAV и MP4 могут быть использованы для дестабилизации работы сервисов, вызывая отказ в обслуживании, или, в редких случаях, для получения контроля над рабочим процессом. Проблемы в модулях аутентификации и проверки сертификатов подрывают фундаментальные принципы безопасности - проверку подлинности и авторизацию. Для специалистов по информационной безопасности этот релиз является прямым указанием к действию. Необходимо незамедлительно обновить NGINX до версий 1.28.3 (стабильная ветка) или 1.29.7 (основная ветка) и применить соответствующие патчи для коммерческой версии NGINX Plus. Кроме того, стоит пересмотреть конфигурации и отключить неиспользуемые модули, такие как "ngx_http_dav_module" или "ngx_http_mp4_module", если их функциональность не требуется, тем самым сокращая потенциальную поверхность для атак. В конечном итоге, данный инцидент напоминает о критической важности своевременного обновления программного обеспечения, особенно такого распространённого и критически важного, как веб-сервер.

Ссылки

Комментарии: 0