Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-92392 — Verifica le build locali di curl/libcurl per l'esposizione a use-after-free nell'upload HTTP/2 di CVE-2026-92392, con inventario passivo, scansione di immagini montate e una sonda PoC su loopback limitata. | Kitploit
Strumenti/GitHubGitHub/ashu7ank/cve-2026-92392
Strumenti DifensiviScanner di VulnerabilitàSicurezza dei ContenitoriAnalisi Dinamica (Sandboxing)Analisi delle VulnerabilitàRaccolta InformazioniVirtualizzazione per la SicurezzaFuzzing
GitHubashu7ank/cve-2026-92392

CVE-2026-92392

Verifica le build locali di curl/libcurl per l'esposizione a use-after-free nell'upload HTTP/2 di CVE-2026-92392, con inventario passivo, scansione di immagini montate e una sonda PoC su loopback limitata.

120 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 →
Vedi Repository
Condividi

Verificatore di esposizione e POC per CVE-2026-92392 in curl/libcurl

cve_2026_92392_check.py valuta gli artefatti locali di curl e libcurl per CVE-2026-92392, un use-after-free nell'upload HTTP/2 in curl/libcurl.

Supporta l'inventario locale passivo, la valutazione di banner forniti, la scansione non esecutiva di immagini montate e una sonda di protocollo HTTP/2 su loopback limitata. La sonda è difensiva e non weaponizzata. Non contiene payload di comandi, shellcode, manipolazione di indirizzi di memoria, logica di fuga di informazioni o payload RCE.

La sonda attiva si associa solo a 127.0.0.1, non accetta URL o host di destinazione remoti ed esegue solo il binario curl locale selezionato.

Cosa stabilisce questo verificatore

Il verificatore distingue quattro diversi livelli di evidenza:

Livello di evidenzaCosa stabilisceCosa non stabilisce
Classificazione della buildSe un artefatto curl/libcurl qualificato per versione è al di fuori dell'intervallo interessato upstream, interessato upstream con stato di patch del fornitore sconosciuto, o confermato interessato usando l'evidenza sullo stato di patch fornitaSe un'applicazione utilizza effettivamente il percorso di upload HTTP/2 interessato
Contesto di esposizione runtimeSe i fatti forniti sull'applicazione indicano che gli upload HTTP/2 possono raggiungere un endpoint controllato da un attaccanteSe la vulnerabilità è stata attivata
Stimolo di protocolloSe l'harness di loopback locale ha consegnato entrambe le varianti di reset documentate con due upload su una singola connessione HTTP/2Un use-after-free, la causa di un crash o l'esecuzione di codice
Risultato del sanitizer attribuito alla CVESe la sequenza candidata, un heap-use-after-free di AddressSanitizer, l'identità di un artefatto interessato upstream e uno stack HTTP/2 corrispondente sono stati tutti osservatiAffidabilità o sfruttabilità pratica su un altro sistema

Un'esecuzione pulita, un'esecuzione di protocollo incompleta o un'esecuzione del sanitizer senza crash non dimostrano che una build sia sicura.

Riepilogo della vulnerabilità

CVE-2026-92392 interessa la gestione degli upload HTTP/2 in curl/libcurl. Durante un upload, una build interessata può elaborare un RST_STREAM HTTP/2 che trasporta REFUSED_STREAM o HTTP_1_1_REQUIRED. I dati di upload bufferizzati possono quindi essere interpretati come una nuova richiesta dopo che lo stato HTTP/2 del trasferimento originale è stato scollegato. Una successiva callback HTTP/2 può dereferenziare un puntatore Curl_easy obsoleto.

Il confronto REA utilizzato per revisionare questo verificatore ha confermato la differenza rilevante nell'ordinamento della pulizia:

  1. L'artefatto interessato chiama Curl_conn_ev_data_done, elabora gli handle in sospeso e solo successivamente chiama Curl_req_done.
  2. Curl_req_done raggiunge req_flush, mentre il percorso data-done di HTTP/2 ha già cancellato il contesto dello stream.
  3. I dati di upload bufferizzati rimanenti possono creare un successivo stream HTTP/2 associato allo stesso puntatore raw easy-handle.
  4. L'implementazione corretta esegue Curl_req_done prima di Curl_conn_ev_data_done, eliminando tale ordinamento obsoleto.

Questa è evidenza implementativa a supporto del modello di prova del verificatore. Lo stato di patch del fornitore richiede comunque una verifica indipendente.

Release upstream interessate

L'avviso upstream identifica l'implementazione vulnerabile come introdotta in curl 8.12.0. Il verificatore classifica le release upstream come segue:

Condizione della releaseClassificazione
Precedente a 8.12.0NOT AFFECTED
Da 8.12.0 a 8.22.0, esclusi i backport correttiInteressata upstream
Ramo 8.14 alla 8.14.3 o successivaBackport corretto
Ramo 8.16 alla 8.16.2 o successivaBackport corretto
Ramo 8.20 alla 8.20.2 o successivaBackport corretto
8.23.0 o successivaNOT AFFECTED
Sviluppo, snapshot, nightly o versione ambiguaINDETERMINATE

Un fornitore può applicare il backport della correzione senza modificare la stringa di versione upstream di curl. Pertanto, una versione upstream interessata è evidenza di inventario, non prova conclusiva che una build del fornitore non sia corretta.

Usare --patch-state solo quando lo stato della correzione semantica downstream è stato verificato tramite avvisi del fornitore, changelog dei pacchetti, confronto del codice sorgente o un altro metodo affidabile a livello di artefatto.

valore --patch-stateSignificato
unknownPredefinito. Una versione upstream interessata produce UPSTREAM-AFFECTED VERSION.
absentL'operatore ha verificato in modo indipendente che la correzione downstream è assente. Una build interessata con supporto HTTP/2 produce AFFECTED BUILD.
presentL'operatore ha verificato in modo indipendente che la correzione semantica downstream è presente. Si tratta di un'asserzione dell'operatore, non di una prova automatica di equivalenza binaria con la correzione upstream di curl.

Requisiti

  • Python 3.10 o versione successiva.
  • Nessuna dipendenza Python oltre alla libreria standard.
  • Un eseguibile curl locale per --poc.
  • Supporto HTTP/2 confermato per un probing attivo significativo.
  • Una build di curl strumentata con AddressSanitizer per --poc-proof asan.
  • Il comando openssl solo quando viene utilizzato --tls.
  • Un eseguibile curl nativo ELF o Mach-O qualificato per prodotto per il probing attivo.

La modalità PoC attiva rifiuta script, wrapper, eseguibili nativi non identificati e binari PE/Windows. La valutazione passiva rimane disponibile per i banner e i filesystem montati.

Avvio rapido

Ispeziona il binario curl trovato in PATH:

python3 cve_2026_92392_check.py

Emette JSON:

python3 cve_2026_92392_check.py --json

Esegui i self-test interni:

python3 cve_2026_92392_check.py --self-test
python3 -O cve_2026_92392_check.py --self-test

Ispeziona un eseguibile curl selezionato e la libreria condivisa libcurl:

python3 cve_2026_92392_check.py \
  --curl-binary /opt/curl/bin/curl \
  --libcurl-path /opt/curl/lib/libcurl.so \
  --json

Valuta un banner curl attendibile senza eseguire un binario:

python3 cve_2026_92392_check.py \
  --version-string 'curl 8.12.0 libcurl/8.12.0 nghttp2/1.61.0' \
  --json

Una versione nuda come 8.12.0 non è accettata come prova verificata dell'identità di curl/libcurl.

Flusso di lavoro per l'inventario remoto

Il checker deliberatamente non contatta host remoti. Ottieni il banner tramite un canale amministrativo autorizzato, salvalo localmente, quindi valutalo localmente:

ssh [email protected] 'curl --version' > host-curl-version.txt

python3 cve_2026_92392_check.py \
  --version-file host-curl-version.txt \
  --http2-use unknown \
  --untrusted-upload unknown \
  --https-certificate unknown \
  --json

Se la revisione dell'applicazione o una traccia attendibile stabilisce che i caricamenti utilizzano HTTP/2, possono raggiungere un endpoint controllato dall'attaccante e accettano il suo certificato HTTPS, fornire esplicitamente tali fatti:

python3 cve_2026_92392_check.py \
  --version-file host-curl-version.txt \
  --http2-use yes \
  --untrusted-upload yes \
  --https-certificate yes \
  --patch-state unknown \
  --json

Per h2c in chiaro, usare --https-certificate not-applicable.

--http2-use yes identifica l'uso di HTTP/2 a runtime. Non dimostra che l'artefatto sia stato compilato con il supporto HTTP/2. Analogamente, --untrusted-upload yes descrive il flusso di dati dell'applicazione, mentre --https-certificate yes registra la condizione di fiducia HTTPS separata.

Valutazione di immagini montate

Scarica lo strumento