
Автоматизированный XSS-сканер и PoC-эксплойт для CVE-2026-50229 в примерах Apache Tomcat. Обнаруживает и эксплуатирует отражённый межсайтовый скриптинг через неэкранированные параметры JSP.
🔴 Продвинутый сканер и эксплойт для межсайтового скриптинга (XSS) в веб-приложении примеров Apache Tomcat
CVE-2026-50229 — это уязвимость межсайтового скриптинга (XSS), обнаруженная в встроенном веб-приложении примеров, поставляемом с Apache Tomcat. Ошибка существует на демо-странице numguess.jsp в webapps/examples/jsp/num/, где нефильтрованные параметры HTTP-запроса отражаются в браузере жертвы без надлежащей санитизации или экранирования.
Этот репозиторий содержит профессиональный сканер доказательства концепции (PoC), написанный на Python, который автоматически обнаруживает, эксплуатирует и документирует эту уязвимость для нескольких версий Tomcat.
⚠️ ПРЕДУПРЕЖДЕНИЕ: Этот инструмент предназначен только для образовательных целей и авторизованного тестирования безопасности. Неправильное использование может нарушить применимые законы. Всегда получайте явное разрешение перед тестированием.
| Поле | Значение |
|---|---|
| CVE ID | CVE-2026-50229 |
| CWE | CWE-79 (Неправильная нейтрализация входных данных при генерации веб-страниц) |
| Оценка CVSS | 3.1 (Низкая) |
| Вектор атаки | Сеть |
| Сложность атаки | Низкая |
| Требуемые привилегии | Отсутствуют |
| Взаимодействие пользователя | Требуется |
| Область | Изменена |
| Конфиденциальность | Низкая |
| Целостность | Низкая |
| Доступность | Отсутствует |
Уязвимость возникает из-за сопоставления свойств с подстановочным символом (wildcard property mapping) в JSP-странице:
<jsp:useBean id="numguess" class="num.NumberGuessBean" scope="session"/>
<jsp:setProperty name="numguess" property="*"/>
---
Свойство property="*" сопоставляет ВСЕ параметры запроса со свойствами бина, включая поле подсказки (hint), которое затем отражается без экранирования:
Good guess, but nope. Try <b><%= numguess.getHint() %></b>.