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-23918-poc — Exploit de preuve de concept pour la vulnérabilité de double libération Apache mod_http2 (CVE-2026-23918) avec phases de reconnaissance, d'exploitation et d'évaluation des risques RCE. | Kitploit
Outils/GitHubGitHub/bencodin/cve-2026-23918-poc
ReconnaissanceAnalyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionOutil d'Accès à Distance
GitHubbencodin/cve-2026-23918-poc

CVE-2026-23918-poc

Exploit de preuve de concept pour la vulnérabilité de double libération Apache mod_http2 (CVE-2026-23918) avec phases de reconnaissance, d'exploitation et d'évaluation des risques RCE.

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

CVE-2026-23918 — Apache mod_http2 Double Free

Affecté: Apache HTTP Server 2.4.66 avec mod_http2 + Event MPM
Corrigé dans: Apache 2.4.67 (mod_h2 v2.0.37)
CVSS 3.1: 8.8 HIGH — Exécution de code à distance non authentifiée possible
CWE: CWE-415 (Double Free)


Quelle est la vulnérabilité ?

mod_http2 dans Apache 2.4.66 a un bug de double free dans h2_mplx.c:m_stream_cleanup(). Le problème survient lorsqu'un client envoie une trame HEADERS immédiatement suivie d'un RST_STREAM sur le même flux. Si le timing est bon, le flux se retrouve poussé deux fois dans le tableau de purge m->spurge. Lorsque le mplx est détruit, le pool APR est libéré deux fois, ce qui corrompt le tas et provoque un SIGABRT ou un SIGSEGV.

Apache a corrigé cela dans mod_h2 v2.0.37 en introduisant add_for_purge(), une simple vérification de déduplication qui empêche le même flux d'être ajouté deux fois.

root@kitploit:~
// Vulnérable (< v2.0.37)
APR_ARRAY_PUSH(m->spurge, h2_stream *) = stream;  // peut arriver deux fois

// Corrigé (v2.0.37+)
static int add_for_purge(h2_mplx *m, h2_stream *stream) {
    for (int i = 0; i < m->spurge->nelts; ++i)
        if (APR_ARRAY_IDX(m->spurge, i, h2_stream*) == stream)
            return FALSE;
    APR_ARRAY_PUSH(m->spurge, h2_stream *) = stream;
    return TRUE;
}

Comment fonctionne le PoC

Par défaut, le script exécute un pipeline en 3 phases sur la cible :

PhaseDescription
1 — ReconDétecte la version d'Apache, le support HTTP/2 via ALPN, le type de MPM
2 — ExploitEnvoie des salves HEADERS+RST_STREAM en threads, essaie le mode inline puis staged
3 — RCE AssessmentMesure la cohérence des crashs et évalue le niveau de risque

Le score RCE est calculé à partir de trois signaux détectables à distance. Premièrement, si Apache 2.4.66 est en cours d'exécution. Deuxièmement, si le MPM Event ou Worker est utilisé (mod_http2 refuse de démarrer avec Prefork, donc si HTTP/2 fonctionne, c'est un MPM threadé). Troisièmement, la déterministe du crash — un crash dès le premier tour signifie que la corruption du tas est contrôlée et reproductible, ce qui est nécessaire pour le RCE.


Installation

root@kitploit:~
pip install hpack requests

Utilisation

root@kitploit:~
# PoC complet sur une cible unique (comportement par défaut)
python poc.py -t 192.168.1.100

# Augmenter la pression avec plus de tours, de plus grosses salves et plus de threads
python poc.py -t 192.168.1.100 -n 20 -b 500 -w 5

# Vérification passive uniquement, rien n'est envoyé à la cible
python poc.py -t example.com --check-only

# Analyser une liste entière de cibles
python poc.py -l sites.txt -o results.json

# Vérification passive sur une liste
python poc.py -l sites.txt --check-only

# Générer un rapport Markdown après l'exécution
python poc.py -t target.com --report report.md

Options

Format du fichier de cibles

root@kitploit:~
# une cible par ligne, les commentaires sont ignorés
192.168.1.100
example.com
example.com:8443
https://example.com
http://example.com:8080

Niveaux de risque RCE


Comment corriger

La correction appropriée est de mettre à niveau Apache vers 2.4.67 ou ultérieur. Si vous ne pouvez pas mettre à niveau immédiatement, désactiver HTTP/2 supprime complètement la surface d'attaque :

root@kitploit:~
# Avant
Protocols h2 http/1.1

# Après (désactive HTTP/2)
Protocols http/1.1

Avertissement

Cet outil est destiné uniquement aux tests de sécurité et à la recherche autorisés. Assurez-vous d'avoir une autorisation écrite explicite avant de l'exécuter contre une cible quelconque. L'auteur décline toute responsabilité en cas d'utilisation abusive.

Télécharger l’outil
OptionDéfautDescription
-t—Cible unique (nom d'hôte ou IP)
-l—Fichier contenant les cibles, une par ligne
-p443Port
-n10Nombre de tours d'exploitation
-b200Paires HEADERS+RST par tour
-w3Connexions parallèles par tour
-d0.1Délai entre les tours en secondes
-minlineMode d'attaque : inline ou staged
--no-tls—Utiliser h2c au lieu de TLS
--check-only—Reconnaissance passive uniquement, pas d'exploitation
-o—Sauvegarder les résultats dans un fichier JSON
--report—Générer un rapport Markdown
-v—Sortie verbose
NiveauSignification
CRITICAL2.4.66 confirmé, HTTP/2 actif, Event MPM détecté, crash déterministe — corriger immédiatement
HIGH2.4.66 confirmé, HTTP/2 actif, MPM threadé utilisé
MEDIUM2.4.66 détecté mais HTTP/2 ou crash non encore confirmé
LOWVersion ne correspond pas ou aucun HTTP/2 détecté
NONEDéjà patché vers 2.4.67+ ou non affecté