Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
cve-2026-22732-demo — Reproduction minimale de CVE-2026-22732 — en-têtes HTTP Spring Security silencieusement supprimés | Kitploit
Outils/GitHubGitHub/semgrep/cve-2026-22732-demo
Analyse des VulnérabilitésExploitationSécurité WebArticles et RechercheApprentissage et ÉducationArchived
GitHubsemgrep/cve-2026-22732-demo

cve-2026-22732-demo

Reproduction minimale de CVE-2026-22732 — en-têtes HTTP Spring Security silencieusement supprimés

Voir le dépôt
7il y a 5 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Démo CVE-2026-22732

Reproduction minimale de CVE-2026-22732 — les en-têtes de réponse HTTP de Spring Security sont silencieusement supprimés lorsque le code du contrôleur écrit directement dans la réponse du servlet.

La vulnérabilité

Spring Security utilise l'écriture « paresseuse » des en-têtes par défaut. Lorsqu'un contrôleur écrit dans response.getOutputStream(), appelle response.flushBuffer(), ou définit Content-Length via setIntHeader(), la réponse est validée avant que Spring Security puisse injecter ses en-têtes de sécurité (X-Frame-Options, X-Content-Type-Options, Cache-Control, Strict-Transport-Security, etc.).

CVSS 3.1 : 9,1 (Critique) — aucune authentification ni interaction utilisateur requise.

Versions concernées

  • 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

Structure du projet

root@kitploit:~
src/main/java/com/example/vuln/
├── VulnApplication.java      # Point d'entrée Spring Boot
├── SecurityConfig.java        # Configure les en-têtes de sécurité (X-Frame-Options, CSP, etc.)
└── VulnController.java        # 1 point de terminaison sûr + 3 vulnérables
src/test/java/com/example/vuln/
└── HeaderVerificationTest.java # Tests qui ÉCHOUENT sur les versions vulnérables

Points de terminaison

Point de terminaisonVulnérable ?Déclencheur
GET /safeNonRetour Spring MVC normal
GET /vuln/streamOuiÉcrit dans response.getOutputStream()
GET /vuln/flushOuiAppelle response.flushBuffer()
GET /vuln/content-lengthOuiDéfinit Content-Length via setIntHeader()

Exécution

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

Puis vérifiez avec curl :

root@kitploit:~
# Sûr — en-têtes présents
curl -i http://localhost:8080/safe

# Vulnérable — en-têtes de sécurité MANQUANTS
curl -i http://localhost:8080/vuln/stream
curl -i http://localhost:8080/vuln/flush
curl -i http://localhost:8080/vuln/content-length

Exécution des tests

root@kitploit:~
./mvnw test

Sur une version vulnérable, les tests vuln* échoueront (en-têtes manquants). Sur une version corrigée (6.5.9+ / 7.0.4+), tous les tests réussissent.

Correctif

Mettez à jour pom.xml pour utiliser une version corrigée de Spring Security :

root@kitploit:~
<spring-security.version>6.5.9</spring-security.version>
Télécharger l’outil