Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-23918-poc — Exploit proof-of-concept per CVE-2026-23918, una vulnerabilità double-free in Apache mod_http2 che consente l'esecuzione di codice remoto non autenticata. Include ricognizione, raffiche threaded di HEADERS+RST_STREAM e punteggio di rischio RCE. | Kitploit
Strumenti/GitHubGitHub/bencodin/cve-2026-23918-poc
RicognizioneAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingStrumento di Accesso Remoto
GitHubbencodin/cve-2026-23918-poc

CVE-2026-23918-poc

Exploit proof-of-concept per CVE-2026-23918, una vulnerabilità double-free in Apache mod_http2 che consente l'esecuzione di codice remoto non autenticata. Include ricognizione, raffiche threaded di HEADERS+RST_STREAM e punteggio di rischio RCE.

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Vedi Repository
3 mesi faNon ancora revisionato

CVE-2026-23918 — Doppio Free in Apache mod_http2

Versione affetta: Apache HTTP Server 2.4.66 con mod_http2 + Event MPM
Corretto in: Apache 2.4.67 (mod_h2 v2.0.37)
CVSS 3.1: 8.8 ALTO — Possibile esecuzione di codice remoto non autenticata
CWE: CWE-415 (Double Free)


Qual è la vulnerabilità

mod_http2 in Apache 2.4.66 ha un bug di double free all'interno di h2_mplx.c:m_stream_cleanup(). Il problema si verifica quando un client invia un frame HEADERS immediatamente seguito da un RST_STREAM sullo stesso stream. Se il tempismo è giusto, lo stream viene inserito due volte nell'array di purge m->spurge. Quando l'mplx viene distrutto, il pool APR viene liberato due volte, corrompendo l'heap e provocando un SIGABRT o SIGSEGV.

Apache ha corretto questo in mod_h2 v2.0.37 introducendo add_for_purge(), un semplice controllo di deduplicazione che impedisce che lo stesso stream venga aggiunto due volte.

root@kitploit:~
// Vulnerable (< v2.0.37)
APR_ARRAY_PUSH(m->spurge, h2_stream *) = stream;  // can happen twice

// Fixed (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;
}

Come funziona il PoC

Per impostazione predefinita, lo script esegue una pipeline a 3 fasi sul target:

FaseCosa fa
1 — ReconRileva la versione di Apache, il supporto HTTP/2 tramite ALPN, il tipo di MPM
2 — ExploitInvia raffiche di HEADERS+RST_STREAM thread, prova la modalità inline poi staged
3 — RCE AssessmentMisura la consistenza del crash e assegna un punteggio al livello di rischio

Il punteggio RCE viene calcolato da tre segnali rilevabili da remoto. Primo, se Apache 2.4.66 è in esecuzione. Secondo, se è in uso il MPM Event o Worker (mod_http2 si rifiuta di avviarsi con Prefork, quindi se HTTP/2 funziona, è un MPM thread-based). Terzo, quanto è deterministico il crash — un crash al primo round significa che la corruzione dell'heap è controllata e riproducibile, ciò che serve per RCE.


Installazione

root@kitploit:~
pip install hpack requests

Utilizzo

root@kitploit:~
# Full PoC on a single target (default behavior)
python poc.py -t 192.168.1.100

# Increase pressure with more rounds, bigger bursts and more threads
python poc.py -t 192.168.1.100 -n 20 -b 500 -w 5

# Passive check only, nothing is sent to the target
python poc.py -t example.com --check-only

# Scan a whole list of targets
python poc.py -l sites.txt -o results.json

# Passive check on a list
python poc.py -l sites.txt --check-only

# Generate a Markdown report after the run
python poc.py -t target.com --report report.md

Opzioni

Formato del file target

root@kitploit:~
# one target per line, comments are ignored
192.168.1.100
example.com
example.com:8443
https://example.com
http://example.com:8080

Livelli di rischio RCE


Come applicare la patch

La correzione appropriata è aggiornare Apache alla versione 2.4.67 o successiva. Se non puoi aggiornare immediatamente, disabilitare HTTP/2 rimuove completamente la superficie di attacco:

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

# After (disables HTTP/2)
Protocols http/1.1

Disclaimer

Questo strumento è pensato esclusivamente per test di sicurezza autorizzati e ricerca. Assicurati di avere un permesso scritto esplicito prima di eseguirlo contro qualsiasi target. L'autore non si assume alcuna responsabilità per un uso improprio.

Scarica lo strumento
OpzionePredefinitoDescrizione
-t—Singolo target (hostname o IP)
-l—File con target, uno per riga
-p443Porta
-n10Numero di round di exploit
-b200Coppie HEADERS+RST per round
-w3Connessioni parallele per round
-d0.1Ritardo tra i round in secondi
-minlineModalità di attacco: inline o staged
--no-tls—Usa h2c invece di TLS
--check-only—Solo ricognizione passiva, nessun exploit
-o—Salva i risultati in un file JSON
--report—Genera un report Markdown
-v—Output verbose
LivelloCosa significa
CRITICO2.4.66 confermato, HTTP/2 attivo, Event MPM rilevato, crash deterministico — applicare la patch immediatamente
ALTO2.4.66 confermato, HTTP/2 attivo, MPM thread-based in uso
MEDIO2.4.66 rilevato ma HTTP/2 o crash non ancora confermati
BASSOVersione non corrispondente o HTTP/2 non rilevato
NESSUNOGià aggiornato a 2.4.67+ o non interessato