В популярном фреймворке для веб-приложений Apache Struts обнаружена новая уязвимость безопасности. Проблема, получившая идентификатор CVE‑2025‑64775, позволяет злоумышленникам заполнять дисковое пространство сервера, что приводит к его отказу в обслуживании. Данный фреймворк с открытым исходным кодом широко используется компаниями по всему миру, что повышает потенциальный масштаб угрозы.
Детали уязвимости
Суть уязвимости заключается в некорректной обработке множественных запросов (multipart), которые часто применяются при загрузке файлов через веб-формы. Из-за ошибки, временные файлы, создаваемые в этом процессе, могут не удаляться должным образом. Злоумышленник может злоупотребить этим поведением, отправляя множество запросов с большими файлами. В результате на сервере накапливаются временные данные, пока диск полностью не заполнится.
Когда свободное место на диске заканчивается, сервер теряет возможность записывать новые данные, логи или временные файлы, необходимые для работы приложений. Это приводит к классической атаке типа «отказ в обслуживании» (Denial-of-Service, DoS). Сайт или приложение, использующее уязвимую версию Struts, может стать крайне медленным, нестабильным или полностью недоступным для обычных пользователей.
Команда Apache Struts оценила максимальное влияние этой уязвимости на безопасность как «Важное» (Important). Хотя оценка не достигла наивысшего уровня «Критическое» (Critical), проблема остается достаточно серьезной. Разработчики настоятельно призывают всех пользователей принять меры. Об этом свидетельствует рекомендация, опубликованная одним из разработчиков Apache Struts, Лукашем Ленартом. Документ был последний раз обновлен 11 ноября 2025 года.
Уязвимость затрагивает широкий спектр версий фреймворка. В зоне риска находятся Struts 2.0.0 вплоть до 2.3.37, а также Struts 2.5.0 до 2.5.33. Стоит отметить, что эти ветки уже не поддерживаются и не получают обновлений безопасности. Кроме того, проблема присутствует в актуальных линейках: Struts 6.0.0-6.7.0 и Struts 7.0.0-7.0.3. Ошибку обнаружил и сообщил Николя Фурнье.
В настоящее время обходного пути для уязвимости не существует. Это означает, что пользователи не могут решить проблему простым изменением конфигурации или установкой небольшого патча. Единственным рекомендованным решением является обновление до защищенной версии Struts. Сопровождающие проекта советуют всем перейти на Struts 6.8.0 или более позднюю версию в линейке 6.x, либо на Struts 7.1.1 и новее в линейке 7.x. Разработчики подчеркивают, что эти обновления обратно совместимы. Следовательно, после обновления приложения в большинстве случаев должны продолжать работать как прежде.
Эксперты по кибербезопасности предупреждают, что организации, все еще использующие старые, неподдерживаемые версии Struts, подвергаются повышенному риску. Поскольку эти ветки больше не получают исправлений безопасности, они становятся легкой мишенью для атакующих. Специалисты рекомендуют компаниям провести инвентаризацию своих систем. Необходимо выявить все случаи использования уязвимых версий фреймворка и запланировать их обновление как можно скорее. Своевременное обновление является ключевой мерой для снижения вероятности разрушительной атаки на исчерпание дискового пространства, которая может парализовать работу критически важных веб-сервисов.
Ссылки
- https://www.cve.org/CVERecord?id=CVE-2025-64775
- https://cwiki.apache.org/confluence/display/WW/S2-068