Уязвимость в примере WebSocket чата Apache Tomcat приводит к отказу в обслуживании

Apache Tomcat

В Apache Tomcat обнаружена уязвимость низкой степени опасности, связанная с неконтролируемым потреблением ресурсов в демонстрационном приложении WebSocket-чата. Проблема получила идентификатор CVE-2026-66299 и может быть использована злоумышленником для исчерпания памяти сервера, что приведёт к отказу в обслуживании (DoS). Разработчики уже выпустили исправления в версиях 9.0.121, 10.1.58 и 11.0.25, а также напоминают, что удаление примеров веб-приложений полностью устраняет угрозу.

Уязвимость CVE-2026-66299

Уязвимость кроется в реализации примера WebSocket-чата, который входит в состав стандартной поставки Apache Tomcat. В этом компоненте используется неограниченный буфер для хранения сообщений, которые не были доставлены клиенту. Если подключившийся клиент целенаправленно обрабатывает данные медленно, буфер начинает расти без ограничений. Со временем это приводит к исчерпанию доступной памяти, и процесс Tomcat аварийно завершает работу.

Проблема затрагивает три линейки Tomcat: версии 9.0.89-9.0.120, 10.1.24-10.1.57 и 11.0.0-M20-11.0.24. Все более ранние версии, включая 8.5.x и ниже, не подвержены данной уязвимости. Важно отметить, что пользователи, которые следовали стандартным рекомендациям по безопасности и удалили примеры веб-приложений после установки сервера, не подвержены риску - уязвимость существует только в составе демонстрационного приложения и не затрагивает основную функциональность Tomcat.

Сам WebSocket-чат является одним из учебных примеров, поставляемых вместе с Tomcat для ознакомления с возможностями сервера. В производственной среде такие примеры обычно удаляются, чтобы снизить поверхность атаки. Однако в тестовых или учебных окружениях, а также на серверах, где администратор не выполнил очистку, злоумышленник может использовать этот вектор для DoS-атаки. Атака не требует высокой пропускной способности - достаточно медленного клиента, который задерживает подтверждение получения сообщений.

Сообщение об уязвимости было направлено в команду безопасности Apache Tomcat 13 июля 2026 года. После подтверждения и разработки исправления информация была опубликована 28 июля 2026 года вместе с обновлениями для всех затронутых веток. Для версии 9.0.x исправление внесено коммитом f6dda658, для 10.1.x - коммитом 446efef5, для 11.0.x - коммитом 4e8e3f89. Пользователям настоятельно рекомендуется обновиться до указанных версий или, как минимум, удалить каталог примеров (обычно находится в webapps/examples), чтобы полностью исключить возможность эксплуатации.

Хотя уязвимость квалифицирована как низкая (Low) из-за того, что затрагивает только необязательный компонент, её существование вновь привлекает внимание к важности управления конфигурацией серверов. Многие атаки на цепочку поставок и эксплуатация уязвимостей в демонстрационных приложениях происходят именно из-за того, что администраторы не удаляют примеры после установки. В данном случае эксплуатация приводит к отказу в обслуживании, что может нарушить работу критичных сервисов, работающих на том же сервере.

Разработчики Apache Tomcat рекомендуют всем пользователям, использующим затронутые версии, как можно скорее применить обновление. Для тех, кто не может выполнить обновление немедленно, временной мерой защиты служит удаление примеров веб-приложений. Кроме того, стоит проверить, не используются ли на сервере другие демонстрационные компоненты, которые могут содержать аналогичные уязвимости. Регулярный аудит установленных приложений и своевременное удаление неиспользуемых модулей остаётся одним из ключевых принципов безопасной эксплуатации серверного программного обеспечения.

Уязвимость CVE-2026-66299 внесена в Национальную базу уязвимостей (NVD) с классификацией CWE-400 (неконтролируемое потребление ресурсов). Несмотря на низкий уровень опасности, она демонстрирует, как даже небольшая ошибка в неосновном компоненте может привести к серьёзным последствиям для доступности сервиса. В современных условиях, когда приложения всё чаще используют WebSocket для реального времени, атаки, направленные на истощение ресурсов через такие соединения, становятся более актуальными.

Таким образом, основная рекомендация для администраторов Apache Tomcat - удалить примеры веб-приложений, если это ещё не сделано, и обновить сервер до последней стабильной версии в своей ветке. Пользователям, которые применяют Tomcat в изолированных тестовых средах, также стоит применить исправление, чтобы избежать случайного распространения уязвимости в производственную среду. Обновление не требует изменения конфигурации приложений и не нарушает обратную совместимость.

Ссылки

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