Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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é.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2025-12543-Fix-for-Wildfly — Image de base Docker avec correctif de validation d'en-tête Host rétroporté pour CVE-2025-12543 dans Undertow 1.4.x, permettant un déploiement sécurisé des applications WildFly 11. | Kitploit
Outils/GitHubGitHub/kavin71725/cve-2025-12543-fix-for-wildfly
Sécurité de l'Infrastructure CloudSécurité des ConteneursAnalyse des VulnérabilitésSécurité WebDevSecOpsSécurité de la Chaîne LogistiqueMauvaise Configuration
GitHub
kavin71725/cve-2025-12543-fix-for-wildfly

CVE-2025-12543-Fix-for-Wildfly

Image de base Docker avec correctif de validation d'en-tête Host rétroporté pour CVE-2025-12543 dans Undertow 1.4.x, permettant un déploiement sécurisé des applications WildFly 11.

Voir le dépôt
27il y a 6 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

Image de base WildFly 11.0.0.Final — Correctif CVE-2025-12543

Présentation

Ce dépôt fournit une image Docker de base construite sur WildFly 11.0.0.Final avec un correctif rétroporté pour CVE-2025-12543, une vulnérabilité critique de validation de l'en-tête Host dans Undertow.

L'image est destinée à être fournie aux collègues comme base. Ils peuvent déployer leur propre application .war et leur standalone.xml par-dessus.


Résumé de CVE-2025-12543

ChampDétail
Identifiant CVECVE-2025-12543
Composantio.undertow:undertow-core
SévéritéCritique (CVSS 9.6)
Versions affectéesToutes les versions < 2.2.39 (y compris 1.4.x)
Corrigé dansUndertow 2.2.39 / 2.3.22
Version WildFly 11undertow-core-1.4.18.Final — affectée

Description de la vulnérabilité

Undertow ne parvient pas à valider correctement l'en-tête Host dans les requêtes HTTP entrantes. Les requêtes contenant des en-têtes Host malformés ou malveillants sont traitées sans rejet, permettant :

  • L'empoisonnement du cache
  • Le détournement de session
  • Le balayage du réseau interne
  • Le mélange de données inter-locataires / le contournement des limites de confiance

Pourquoi ne pas mettre à niveau WildFly ?

D'autres utilisateurs sont toujours sur WildFly 11, et il n'y a actuellement ni ressources ni projets de mise à niveau. Le correctif a été rétroporté directement dans le JAR Undertow 1.4.18.Final.


Structure du dépôt

.
├── Dockerfile                                  # Définition de l'image principale
├── README.md
├── wildfly-dist-11.0.0.Final.tar.gz           # Archive de distribution WildFly 11
├── reports/
│   ├── result-20260401-0230.txt               # Rapport de scan CVE qui a identifié la vulnérabilité
│   └── wildfly_11.0.0.Final_*.txt             # Rapports de scan supplémentaires
└── patch/
    ├── src/
    │   ├── HostHeaderHandler.java             # Correctif rétroporté — nouvelle classe de gestionnaire
    │   ├── HttpReadListener_only.java         # Source décompilée + corrigée de HttpReadListener (référence)
    │   └── PatchHttpReadListener.java         # Outil de correction de bytecode Javassist
    ├── build.sh                               # Script de construction — reconstruit le JAR corrigé à partir de zéro
    ├── undertow-core-1.4.18.Final.jar         # JAR original (non corrigé) — conservé pour référence
    └── undertow-core-1.4.18.Final-patched.jar # JAR corrigé injecté dans l'image

Détails des fichiers

Dockerfile

Construit l'image finale. Il :

  1. Utilise bitnamilegacy/java:1.8.432-7-debian-12-r2 (OpenJDK 1.8.0_432) comme base
  2. Extrait WildFly 11 dans /opt/jboss/wildfly
  3. Remplace le undertow-core-1.4.18.Final.jar original par la version corrigée
  4. Démarre WildFly via standalone.sh -b 0.0.0.0 (liaison à toutes les interfaces)

patch/undertow-core-1.4.18.Final-patched.jar

Le JAR Undertow corrigé. Il est identique à l'original à l'exception de deux modifications :

  • Ajouté : io/undertow/server/handlers/HostHeaderHandler.class (et ses classes internes)
  • Modifié : io/undertow/server/protocol/http/HttpReadListener.class — injecte HostHeaderHandler dans le pipeline de requêtes

patch/src/HostHeaderHandler.java

Le gestionnaire de validation d'en-tête Host rétroporté. Porté depuis la PR Undertow #1857 (UNDERTOW-2656).

Toutes les constantes (IP4_EXACT, IP6_EXACT, tables de caractères) sont autonomes — aucune dépendance aux API ajoutées dans Undertow 2.x. Sur chaque requête HTTP, il valide :

  • L'en-tête Host est présent (obligatoire pour HTTP/1.1)
  • Exactement un en-tête Host (pas de doublons)
  • Le port est numérique et dans la plage 1–65535
  • Les littéraux IP (IPv4, IPv6, IPvFuture) sont bien formés
  • Les caractères du nom d'hôte sont des caractères valides RFC 3986 reg-name
  • Rejette avec 400 Bad Request en cas de violation

patch/src/PatchHttpReadListener.java

Un correcteur de bytecode Javassist à usage unique. Il charge HttpReadListener depuis le JAR original et remplace :

// Avant
Connectors.executeRootHandler(connection.getRootHandler(), exchange);

// Après
Connectors.executeRootHandler(
    HostHeaderHandler.WRAPPER.wrap(connection.getRootHandler()),
    exchange
);

Ceci injecte HostHeaderHandler automatiquement dans chaque requête HTTP, sans nécessiter une recompilation complète de HttpReadListener (qui dépend de classes internes complexes et d'internals xnio).

patch/src/HttpReadListener_only.java

Source décompilée du HttpReadListener original d'Undertow 1.4.18.Final, utilisée comme référence pour localiser le point d'injection. La version corrigée de cette source est également conservée ici à des fins d'audit.

reports/result-20260401-0230.txt

Rapport de scan CVE (généré le 2026-04-01) qui a identifié CVE-2025-12543 dans undertow-core-1.4.18.Final à :

/opt/jboss/wildfly/modules/system/layers/base/io/undertow/core/main/undertow-core-1.4.18.Final.jar

Procédure de correction

1. Identifier la vulnérabilité

Le rapport de scan (result-20260401-0230.txt) a confirmé que undertow-core-1.4.18.Final est affecté par CVE-2025-12543 (CVSS 9.6).

2. Rechercher le correctif amont

Le correctif se trouve dans Undertow PR #1857, fusionné dans main (2026-01-09) et rétroporté dans 2.2.x et 2.3.x. Le correctif ajoute HostHeaderHandler.java et le câble dans HttpReadListener pour valider l'en-tête Host sur chaque requête.

3. Évaluer la faisabilité d'une mise à niveau directe

Undertow 1.4.x → 2.2.x est un saut de version majeur avec des changements d'API cassants. WildFly 11 est étroitement couplé à Undertow 1.4.x via JBoss Modules. Un remplacement direct du JAR provoquerait ClassNotFoundException / NoSuchMethodError au démarrage.

4. Rétroporter HostHeaderHandler.java

Écrire une version autonome de HostHeaderHandler.java compatible avec Undertow 1.4.18.Final :

  • Intégrer toutes les constantes regex (IP4_EXACT, IP6_EXACT) — non disponibles dans NetworkUtils de la version 1.4.x
  • Supprimer exchange.isHostIncludedInRequestURI() — non disponible dans HttpServerExchange de la version 1.4.x
  • Garder toute la logique de validation identique au correctif amont

Compiler avec le classpath Undertow 1.4.18 + xnio à l'intérieur de l'image WildFly :

javac -cp undertow-core-1.4.18.Final.jar:xnio-api-3.5.4.Final.jar:jboss-logging-3.3.1.Final.jar \
      -d out HostHeaderHandler.java

5. Corriger HttpReadListener via Javassist

Décompiler HttpReadListener avec Procyon pour localiser le point d'injection :

Connectors.executeRootHandler(this.connection.getRootHandler(), httpServerExchange);

situé dans handleEventWithNoRunningRequest().

Comme HttpReadListener a des classes internes anonymes ($1, $2, $3) qui ne peuvent pas être référencées depuis une source décompilée, une recompilation complète n'est pas réalisable. Utiliser plutôt Javassist (PatchHttpReadListener.java) pour instrumenter directement le bytecode — en remplaçant l'appel executeRootHandler pour envelopper le gestionnaire racine avec HostHeaderHandler.WRAPPER.

java -cp javassist.jar:undertow-core-1.4.18.Final.jar:out \
     PatchHttpReadListener undertow-core-1.4.18.Final.jar out/

6. Reconditionner le JAR

Télécharger l’outil