Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
cve-2026-22732-demo — Минимальное воспроизведение CVE-2026-22732 — HTTP-заголовки Spring Security молча отбрасываются | Kitploit
Инструменты/GitHubGitHub/semgrep/cve-2026-22732-demo
Анализ уязвимостейЭксплуатацияВеб-безопасностьСтатьи и ИсследованияОбучение и ОбразованиеArchived
GitHubsemgrep/cve-2026-22732-demo

cve-2026-22732-demo

Минимальное воспроизведение CVE-2026-22732 — HTTP-заголовки Spring Security молча отбрасываются

Репозиторий
4 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2026-22732 Демо

Минимальное воспроизведение CVE-2026-22732 — заголовки HTTP-ответа Spring Security молча отбрасываются, когда код контроллера пишет напрямую в сервлетный ответ.

Уязвимость

Spring Security по умолчанию использует «ленивую» запись заголовков. Когда контроллер пишет в response.getOutputStream(), вызывает response.flushBuffer() или устанавливает Content-Length через setIntHeader(), ответ фиксируется до того, как Spring Security сможет внедрить свои заголовки безопасности (X-Frame-Options, X-Content-Type-Options, Cache-Control, Strict-Transport-Security и т. д.).

CVSS 3.1: 9.1 (Критический) — не требуется аутентификация или взаимодействие с пользователем.

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

  • Spring Security 5.7.0–5.7.21, 5.8.0–5.8.23, 6.3.0–6.3.14, 6.4.0–6.4.14, 6.5.0–6.5.8, 7.0.0–7.0.3

Структура проекта

root@kitploit:~
src/main/java/com/example/vuln/
├── VulnApplication.java      # Точка входа Spring Boot
├── SecurityConfig.java        # Настраивает заголовки безопасности (X-Frame-Options, CSP и т. д.)
└── VulnController.java        # 1 безопасная + 3 уязвимые конечные точки
src/test/java/com/example/vuln/
└── HeaderVerificationTest.java # Тесты, которые ПРОВАЛИВАЮТСЯ на уязвимых версиях

Конечные точки

Конечная точкаУязвимая?Триггер
GET /safeНетОбычный возврат Spring MVC
GET /vuln/streamДаЗапись в response.getOutputStream()
GET /vuln/flushДаВызов response.flushBuffer()
GET /vuln/content-lengthДаУстановка Content-Length через setIntHeader()

Запуск

root@kitploit:~
./mvnw spring-boot:run

Затем проверьте с помощью curl:

root@kitploit:~
# Безопасно — заголовки присутствуют
curl -i http://localhost:8080/safe

# Уязвимо — заголовки безопасности ОТСУТСТВУЮТ
curl -i http://localhost:8080/vuln/stream
curl -i http://localhost:8080/vuln/flush
curl -i http://localhost:8080/vuln/content-length

Запуск тестов

root@kitploit:~
./mvnw test

На уязвимой версии тесты vuln* будут проваливаться (отсутствующие заголовки). На исправленной версии (6.5.9+ / 7.0.4+) все тесты проходят.

Исправление

Обновите pom.xml, чтобы использовать исправленную версию Spring Security:

root@kitploit:~
<spring-security.version>6.5.9</spring-security.version>
Скачать инструмент