
Обнаруживает и эксплуатирует обход каталога CVE-2025-55752 в Apache Tomcat через Rewrite Valve, что позволяет загружать JSP-файлы методом PUT и выполнять удалённый код.
🚨🚨 CVE-2025-55752 — Apache Tomcat: обход защиты каталогов через Rewrite Valve → RCE через PUT🚨🚨 Краткое описание
CVE-2025-55752 — это регрессия безопасности в Apache Tomcat, появившаяся при исправлении ошибки #60013. При использовании Rewrite Valve Tomcat применяет нормализацию пути до декодирования URL. Такой неверный порядок позволяет с помощью специально сформированных URI обойти проверки доступа, реализованные в StandardContextValve.java, для защищённых путей, таких как /WEB-INF/ и /META-INF/. Если сервер принимает HTTP-запросы PUT (или предоставляет любой доступный для записи endpoint загрузки файлов), злоумышленник может загрузить вредоносные артефакты (например, .jsp или сериализованные сессии) и добиться удалённого выполнения кода (RCE).
🚨 Затронутые версии
Более старые ветки Tomcat, достигшие конца жизненного цикла (EOL) и включавшие изменение rewrite/нормализации, также могут быть затронуты. Проверьте конкретную сборку вашего дистрибутива/вендора.
🚨 Влияние
PUT (или другие endpoint'ы с возможностью записи) или когда веб-приложения разрешают загрузку файлов без достаточной проверки.🚨🚨 Технические детали (кратко)
StandardContextValve для /WEB-INF/ и /META-INF/.PUT или имеет endpoint загрузки файлов, размещающий файлы в корне документов веб-приложения, злоумышленник может записать .jsp или другое исполняемое содержимое в место, которое сервер обслуживает/выполняет, что приводит к RCE.Меры по устранению и стратегии защиты
Немедленные меры (рекомендуется)
Обновите Tomcat до исправленной поддерживаемой версии как можно скорее:
Если немедленное обновление невозможно (временные меры)
Отключите HTTP PUT на уровне сервера, коннектора или обратного прокси (например, через конфигурацию веб-сервера или правила межсетевого экрана).
Ужесточите/удалите правила Rewrite, допускающие произвольное переписывание в доступные для записи места; в частности, удалите правила, переписывающие или передающие параметры запроса в пути файлов.
Ужесточите обработку загрузки файлов в веб-приложениях:
/WEB-INF/, /META-INF/ или в любом classpath приложения.Фильтруйте/блокируйте URI эксплойтов на периметре (WAF / обратный прокси), блокируя подозрительные закодированные полезные нагрузки и шаблоны, пытающиеся обойти защиту /WEB-INF или /META-INF.
Минимальные привилегии для хранилищ файлов: убедитесь, что процесс веб-приложения не может записывать в каталоги, которые обслуживаются или выполняются контейнером.
Обзор функций
Этот инструмент выполняет двухэтапное обнаружение на основе официального описания CVE-2025-55752:
Пытается использовать неверный порядок нормализации URL перед декодированием в Rewrite Valve Apache Tomcat, что позволяет обход пути к защищённым местам, таким как /WEB-INF или /META-INF.
Пытается загрузить тестовый JSP-файл через HTTP PUT, затем проверяет, можно ли обойти механизмы защиты для доступа к загруженному файлу.
Проверка возможности обхода пути к защищённым каталогам:
python3 cve_2025_55752_detector.py http://target:8080 --check
Попытка загрузить JSP-файл и проверить обход доступа:
python3 cve_2025_55752_detector.py http://target:8080
🔧 Настройка имени файла и содержимого полезной нагрузки:
python3 cve_2025_55752_detector.py http://target:8080 --filename exploit.jsp --payload "<% out.println('PWNED'); %>"