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
apache_audit_cve-2026-23918 — Toolkit Python per auditare Apache HTTP Server contro CVE-2026-23918 (double-free RCE in HTTP/2) e altri 4 CVE correlati. Scanner passivo con verifica ALPN + auditor locale in sola lettura. Nessun exploit. | Kitploit
Strumenti/GitHubGitHub/sibersan/apache_audit_cve-2026-23918
Strumenti DifensiviScanner di VulnerabilitàAudit di ConfigurazioneSicurezza WebSicurezza di ReteRisposta agli Incidenti
GitHubsibersan/apache_audit_cve-2026-23918

apache_audit_cve-2026-23918

Toolkit Python per auditare Apache HTTP Server contro CVE-2026-23918 (double-free RCE in HTTP/2) e altri 4 CVE correlati. Scanner passivo con verifica ALPN + auditor locale in sola lettura. Nessun exploit.

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
13 mesi faNon ancora revisionato

cve-2026-23918

Strumenti di audit difensivo per CVE-2026-23918 (Apache HTTPD HTTP/2 double-free RCE) e quattro CVE correlate divulgate nell'avviso di sicurezza del 4 maggio 2026 della Apache Software Foundation.

CVEGravitàComponenteImpattoVersioni affette
CVE-2026-23918Alta (CVSS 8.8)HTTP/2Double Free / RCESolo 2.4.66
CVE-2026-24072Mediamod_rewrite (ap_expr)Escalation di privilegi≤ 2.4.66
CVE-2026-28780Bassamod_proxy_ajpHeap Buffer Overflow≤ 2.4.66
CVE-2026-29168Bassamod_md (OCSP)Esaurimento risorse2.4.30 – 2.4.66
CVE-2026-29169Bassamod_dav_lockNULL Ptr Deref / DoS≤ 2.4.66

Tutti i problemi sono risolti in Apache HTTP Server 2.4.67.


⚠️ Autorizzazione e ambito

Questi strumenti sono pensati per essere usati solo contro sistemi di tua proprietà o per i quali hai esplicita autorizzazione scritta. La scansione non autorizzata potrebbe essere illegale nella tua giurisdizione.

La toolkit è difensiva per progettazione:

  • Nessun payload di vulnerabilità, nessun tentativo di exploit, nessuna sonda intrusiva.
  • Lo scanner passivo legge solo l'intestazione HTTP Server: standard e utilizza la normale ALPN TLS — lo stesso meccanismo usato da ogni browser moderno per negoziare HTTP/2.
  • L'auditor locale è in sola lettura; nessun file o configurazione viene modificato.

Contenuti

root@kitploit:~
.
├── apache_passive_audit.py    # Audit esterno degli asset (banner-grab + ALPN)
├── apache_local_audit.py      # Audit locale su host / via SSH
├── LICENSE                    # MIT
├── .gitignore
└── README.md

Requisiti

  • Python 3.6+ — funziona con il python3 predefinito di Ubuntu 18.04 e tutte le versioni successive.
  • Solo libreria standard — nessuna dipendenza esterna.

Installazione

root@kitploit:~
git clone https://github.com/sibersan/cve-2026-23918.git
cd cve-2026-23918
chmod +x apache_passive_audit.py apache_local_audit.py

1. Audit passivo — apache_passive_audit.py

Legge l'intestazione HTTP Server: per rilevare la versione di Apache e la confronta con la tabella CVE. Inoltre, per target HTTPS, esegue una negoziazione ALPN TLS standard per determinare se HTTP/2 è esposto — questa è la precondizione chiave affinché CVE-2026-23918 sia sfruttabile. Nessun payload di exploit viene inviato.

Verifica HTTP/2 (ALPN)

Lo script offre h2 e http/1.1 nell'estensione ALPN dell'handshake TLS (RFC 7301). La scelta del server è la risposta standard e inequivocabile alla domanda "HTTP/2 è abilitato?" — usata da ogni browser moderno e curl. Non attiva la vulnerabilità né alcun comportamento anomalo.

Il verdetto di rischio riflette questo:

  • Versione 2.4.66 + HTTP/2 confermato tramite ALPN → VULNERABILE (vettore RCE aperto)
  • Versione 2.4.66 + HTTP/2 non negoziato → A RISCHIO (ancora non patchato; altre CVE basse/medie si applicano, ma il vettore RCE ad alta gravità è chiuso)
  • Test ALPN non eseguito → conservativo; si presuppone esposto
  • Versione ≥ 2.4.67 → SICURO

Utilizzo

root@kitploit:~
# Singolo target
python3 apache_passive_audit.py -t https://web.example.com

# Più target
python3 apache_passive_audit.py -t https://a.example.com -t https://b.example.com

# File di target, parallelo, output CSV + JSON
python3 apache_passive_audit.py -f targets.txt -w 20 -o report.csv --json report.json

# CI / adatto ai log (senza colori)
python3 apache_passive_audit.py -f targets.txt --no-color

Formato targets.txt (un target per riga, # per commenti):

root@kitploit:~
https://www.example.com
intranet.example.local:8443
# vecchio server di staging
http://10.0.5.12

Opzioni

Codici di uscita (adatti a CI/CD)

CodiceSignificato
0Tutti i target sicuri
1Almeno un target SCONOSCIUTO o ERRORE
2Almeno un target VULNERABILE o

Livelli di rischio

Limitazioni

  • Server con ServerTokens Prod o Minimal nascondono la versione — lo script restituisce onestamente SCONOSCIUTO. Usa l'audit locale per confermare.
  • Un'istanza Apache dietro un reverse proxy (Cloudflare, F5, nginx, ecc.) potrebbe non esporre la propria versione al perimetro.
  • Il rilevamento ALPN HTTP/2 è significativo solo per target HTTPS. HTTP/2 in chiaro (h2c) è raro nella pratica e non viene testato.

2. Audit locale — apache_local_audit.py

Viene eseguito sul host target (o tramite SSH) e ispeziona il binario Apache, la versione, i moduli caricati e la configurazione HTTP/2. Valuta anche le precondizioni di sfruttabilità: ad esempio, se la versione è 2.4.66 ma HTTP/2 è disabilitato, il rischio per CVE-2026-23918 viene declassato di conseguenza.

Utilizzo

root@kitploit:~
sudo python3 apache_local_audit.py

# Report JSON (per inventario centralizzato)
sudo python3 apache_local_audit.py --json /var/log/apache_audit_$(hostname).json

# Percorso binario personalizzato
sudo python3 apache_local_audit.py --binary /opt/apache/bin/httpd

Capacità di rilevamento

  • httpd -v / apache2 -v — versione
  • httpd -V — informazioni di build, HTTPD_ROOT, SERVER_CONFIG_FILE
  • apache2ctl -M o httpd -M — moduli caricati
  • dpkg-query / rpm -q — versione del pacchetto
  • Configurazione principale più tutti i file inclusi tramite Include/IncludeOptional (inclusi sites-enabled/, mods-enabled/ di Debian) → direttiva Protocols (h2 / h2c / http/1.1)

Opzioni

FlagDescrizione
--binaryPercorso del binario Apache (sovrascrive il rilevamento automatico)
--jsonOutput report JSON
--no-colorDisabilita output colorato

Codici di uscita

CodiceSignificato
0SICURO
1PATCH NECESSARIO o SCONOSCIUTO
2VULNERABILE o A RISCHIO

Livelli di rischio

Privilegi

sudo/root è raccomandato per la lettura completa della configurazione. Senza di esso, alcuni file in sites-enabled/, mods-enabled/ o /etc/httpd/conf.d/ potrebbero risultare illeggibili.


Esecuzione su un inventario

Per eseguire l'audit locale su più host e raccogliere i report centralmente, un esempio ad-hoc con Ansible:

root@kitploit:~
ansible all -i inventory.ini -b -m script \
  -a "apache_local_audit.py --json /tmp/apache_audit.json --no-color"

ansible all -i inventory.ini -b -m fetch \
  -a "src=/tmp/apache_audit.json dest=./reports/ flat=no"

I file JSON raccolti possono essere uniti con jq o un piccolo script Python.


Mitigazioni raccomandate

Per CVE-2026-23918 (fino alla patch):

  1. Aggiornare Apache HTTP Server alla versione 2.4.67 o successiva — l'unica soluzione definitiva.
  2. Come misura temporanea, disabilitare HTTP/2: rimuovere h2 e h2c dalla direttiva Protocols nella configurazione, oppure sudo a2dismod http2 su Debian/Ubuntu, quindi ricaricare il servizio.
  3. Scaricare mod_dav_lock se non in uso (CVE-2026-29169).
  4. Controllare utenti / virtual host con accesso in scrittura a .htaccess (CVE-2026-24072).

Avviso ufficiale: https://httpd.apache.org/security/vulnerabilities_24.html


Contributi

I pull request sono benvenuti. Quando si aggiunge una nuova CVE, si prega di:

  • Aggiungere un'entrata a CVE_TABLE con l'intervallo di versioni affette e la lambda match.
  • Per lo script locale, definire il campo needs appropriato per i controlli delle precondizioni (modulo caricato, protocollo abilitato, ecc.).
  • Aggiornare la tabella in questo README.
  • Mantenere la compatibilità con Python 3.6: evitare f-string, from __future__ import annotations, generics PEP 585 (list[int]), subprocess.run(capture_output=True) e @dataclass.

Manutentore

SiberSAN

Licenza

MIT © 2026 SiberSAN

Disclaimer

Questo software è fornito "così com'è", senza alcuna garanzia. Validare in un ambiente di test prima dell'uso in produzione. L'utente si assume ogni responsabilità legale per qualsiasi utilizzo contro sistemi non autorizzati.

Scarica lo strumento
FlagDescrizione
-t, --targetSingolo target (può essere ripetuto)
-f, --fileFile con lista di target
-o, --csvOutput report CSV
--jsonOutput report JSON
--timeoutTimeout richiesta in secondi (default 10)
-w, --workersThread worker paralleli (default 10)
--no-colorDisabilita output colorato
A RISCHIO
LivelloSignificato
VULNERABILELa versione corrisponde a un intervallo CVE dell'avviso E la sua precondizione è soddisfatta (es. HTTP/2 abilitato)
A RISCHIOVersione non patchata ma la precondizione ad alta gravità NON è soddisfatta; altre CVE si applicano comunque
SICUROVersione ≥ 2.4.67
SCONOSCIUTOBanner nascosto (ServerTokens Prod) o mascherato da reverse proxy/WAF — verifica con lo script di audit locale
NON_APACHENon Apache (nginx, IIS, ecc.)
ERROREErrore di connessione
LivelloSignificato
VULNERABILEVersione non patchata + precondizioni CVE ad alta gravità soddisfatte (es. HTTP/2 abilitato)
A RISCHIOVersione non patchata + almeno una precondizione CVE soddisfatta
PATCH NECESSARIOVersione non patchata ma nessun modulo/protocollo rilevante abilitato — patchare comunque
SICUROVersione ≥ 2.4.67
SCONOSCIUTOVersione non rilevabile