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
PoC-CVE-2025-69420 | Kitploit
Strumenti/GitHubGitHub/kha-beleh/poc-cve-2025-69420
Analisi delle VulnerabilitàExploitFuzzingCrittografiaApprendimento e FormazioneBinary Exploitation
GitHubkha-beleh/poc-cve-2025-69420

PoC-CVE-2025-69420

Vedi Repository
29 giorni faNon ancora revisionato

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

CVE-2025-69420 — PoC di confusione di tipo della TimeStamp Response di OpenSSL

Riproduttore di laboratorio che causa esclusivamente un crash per CVE-2025-69420 in OpenSSL. Il PoC carica una TimeStamp Response RFC 3161 valida, modifica in memoria l'attributo ESS firmato da V_ASN1_SEQUENCE a V_ASN1_NULL e chiama TS_RESP_verify_response().

Su una build interessata, ossl_ess_get_signing_cert_v2() o ossl_ess_get_signing_cert() accede all'union ASN1_TYPE come se fosse una sequenza senza convalidare il tipo attivo. UBSan segnala un accesso a un membro tramite un puntatore ASN1_STRING nullo. L'impatto previsto è la terminazione del processo / denial of service; questo repository non contiene logica di esecuzione di codice.

Risultato confermato

L'output di test fornito conferma il problema:

root@kitploit:~
runtime error: member access within null pointer of type 'struct ASN1_STRING'
#0 ossl_ess_get_signing_cert_v2
#1 ts_check_signing_certs
#2 TS_RESP_verify_signature
#3 int_ts_RESP_verify_token
#4 TS_RESP_verify_response

Ciò corrisponde alla descrizione della vulnerabilità: una TimeStamp Response malformata raggiunge TS_RESP_verify_response() e un attributo ESS del certificato di firma con tipo diverso da V_ASN1_SEQUENCE causa un dereferenziamento di puntatore non valido o NULL.

Ambito

Eseguire il test solo in un ambiente isolato contro una build di OpenSSL di cui si è proprietari o che si è autorizzati a valutare. Questo è un riproduttore che causa esclusivamente un crash.

Requisiti

  • Linux e GCC
  • Build di OpenSSL interessata compilata con ASan e UBSan
  • Header di sviluppo di OpenSSL nell'albero di build

Percorso di build predefinito:

root@kitploit:~
/path/to/openssl-3.0.7-asan

Sostituirlo quando necessario:

root@kitploit:~
export OPENSSL_BUILD=/path/to/openssl-asan-build

Utilizzo

root@kitploit:~
git clone https://github.com/Kha-Beleh/PoC-CVE-2025-69420.git
cd PoC-CVE-2025-69420

export OPENSSL_BUILD=/path/to/openssl-3.0.7-asan
make prepare
make build
make run

Oppure eseguire tutto separatamente:

root@kitploit:~
./scripts/prepare.sh
./scripts/build.sh
./scripts/run.sh

prepare.sh utilizza il openssl.cnf minimale del repository, quindi non dipende da un $OPENSSL_BUILD/ssl/openssl.cnf mancante.

Output atteso su una build interessata

root@kitploit:~
[+] Loaded valid TimeStamp Response
[+] Found attribute: id-smime-aa-signingCertificateV2
[+] Original ASN.1 type: 16
[+] Attribute changed to V_ASN1_NULL
[+] Calling TS_RESP_verify_response()
crypto/ts/ts_rsp_verify.c:...: runtime error: member access within null pointer of type 'struct ASN1_STRING'
    #0 ... in ossl_ess_get_signing_cert_v2
    #1 ... in ts_check_signing_certs
    #2 ... in TS_RESP_verify_signature
    #3 ... in int_ts_RESP_verify_token
    #4 ... in TS_RESP_verify_response

Gli indirizzi e i numeri di riga esatti variano in base alla build. Con UBSAN_OPTIONS=halt_on_error=1, il processo termina alla prima operazione indefinita rilevata.

Risultato atteso su una build corretta

L'attributo malformato dovrebbe essere rifiutato in modo pulito senza segnalazioni del sanitizer o crash del processo. Il PoC quindi stampa:

root@kitploit:~
[+] Malformed response rejected without a crash

Interpretazione tecnica

Il valore originale del tipo di attributo 16 è V_ASN1_SEQUENCE. Il PoC lo modifica in V_ASN1_NULL. Nell'implementazione interessata, il codice tratta successivamente il membro dell'union come value.sequence e lo dereferenzia. Poiché il membro attivo non è una sequenza, UBSan rileva un accesso a un membro tramite un ASN1_STRING * nullo.

Questo è un caso di confusione di tipo / mancato controllo delle condizioni eccezionali, piuttosto che un overflow del buffer di heap o di stack.

File

  • poc.c — riproduttore minimale
  • scripts/prepare.sh — genera la chiave TSA, il certificato, la richiesta e una risposta valida
  • scripts/build.sh — compila contro la build OpenSSL ASan/UBSan
  • scripts/run.sh — esegue con le impostazioni dei sanitizer
  • openssl.cnf — configurazione minima per provider/richiesta
  • tsa.conf — configurazione locale TSA RFC 3161
  • evidence/confirmed-output.txt — traccia del sanitizer confermata e abbreviata

Riferimenti

  • NVD: CVE-2025-69420
  • Fix OpenSSL: commit 4e254b48ad93cc092be3dd62d97015f33f73133a
Scarica lo strumento