Все уязвимости

CVE-2024-53677

Apache Struts: обход ограничений загрузки файлов

CVE-2024-53677 затрагивает приложения Apache Struts, использующие старый FileUploadInterceptor. В определённых конфигурациях манипуляция параметрами загрузки допускает traversal и может привести к RCE; требуется обновление и миграция механизма загрузки.

Проверено 30 октября 2026Apache Struts оценивает CVE-2024-53677 как Critical; влияние — Remote Code Execution при выполнении условий конфигурации.

Кому нужно проверить

Разработчикам и администраторам приложений Apache Struts с загрузкой файлов и старым interceptor. Важна не только марка продукта, но и конкретная версия, способ установки, операционная система и конфигурация.

В чём риск

Атакующий может управлять параметрами загрузки и направить файл за пределы ожидаемого каталога. При подходящей конфигурации загрузка вредоносного файла может завершиться выполнением кода с правами приложения.

Затронутые версии

Затронуты Struts 2.0.0–2.3.37, 2.5.0–2.5.33 и 6.0.0–6.3.0.2, если приложение использует FileUploadInterceptor. Приложения, не использующие этот interceptor, по advisory безопасны именно от этого сценария; EOL-ветки не получают обычную поддержку.

Исправленные версии

Apache Struts рекомендует обновиться минимум до 6.4.0 и перейти на новый Action File Upload механизм. Изменение не обратно совместимо: действия нужно переписать, а продолжение старого механизма оставляет приложение уязвимым.

Что сделать

  1. 1Определите точную версию Struts и проверьте конфигурацию actions/interceptors: наличие FileUploadInterceptor является ключевым условием применимости.
  2. 2Обновите до Struts 6.4.0 или более нового поддерживаемого выпуска и мигрируйте actions на Action File Upload механизм. Сначала проверьте миграцию на staging с обычными типами и размерами файлов.
  3. 3До миграции отключите затронутые upload-действия или ограничьте их доверенными пользователями, если это совместимо с бизнес-процессом. Это временная изоляция, а не исправление.
  4. 4После выкладки проверьте обработку имён, каталогов, типов и размеров файлов, журналы загрузок и права каталога. Ищите признаки неожиданных файлов и при необходимости проводите расследование отдельно от обновления.

Переход на новый upload-механизм

Проверка конфигурации важна не меньше номера зависимости.

  1. 1Найти FileUploadInterceptor
  2. 2Обновить Struts и переписать actions
  3. 3Проверить загрузку на staging
  4. 4Ограничить права каталога и проверить журналы

Примеры конфигурации и проверки

Проверить версию Struts в Maven dependency tree (shell)
mvn dependency:tree -Dincludes=org.apache.struts:struts2-core

Запускайте в копии исходного проекта с Maven. Команда только выводит разрешённую зависимость; она не проверяет runtime classpath, переопределения и наличие старого FileUploadInterceptor, поэтому результат нужно сопоставить с собранным приложением.

Как не подпустить ботов к сайту

BotProtection принимает запросы перед вашим сайтом и фильтрует автоматизированные обращения. Поэтому ботам сложнее добраться до уязвимого компонента и начать его проверять или атаковать, а вероятность успешной автоматизированной атаки становится значительно ниже. Это дополнительный слой защиты: обновление уязвимых компонентов, проверка журналов и реагирование на инциденты остаются обязательными.

Первоисточники

Снизьте шанс атаки до того, как бот дойдёт до сайта

Подключите BotProtection как фильтр перед сайтом: подозрительные автоматизированные запросы отсекаются до обращения к вашему серверу. Это значительно снижает вероятность автоматизированной атаки, но не исправляет саму уязвимость, поэтому обновление и настройка компонентов остаются обязательными.