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
afterimage — Ricerca patch-diff per le issue pubblicate di urllib3: release bloccate, harness offline originali, comportamento prima/dopo e controlli benigni. | Kitploit
Strumenti/GitHubGitHub/ssh-pur66/afterimage
Analisi StaticaAnalisi delle VulnerabilitàExploitSicurezza WebPaper e RicercaApprendimento e Formazione
GitHubssh-pur66/afterimage

afterimage

Ricerca patch-diff per le issue pubblicate di urllib3: release bloccate, harness offline originali, comportamento prima/dopo e controlli benigni.

Vedi Repository
886 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 →
Sito web
Condividi

Afterimage

Creato e mantenuto da Sergio Rodriguez (SSH-PuR66). Gli harness sperimentali e le analisi sono miei; le vulnerabilità pubblicate, il codice di urllib3 e le correzioni upstream mantengono la loro attribuzione originale.

Metodo di ricerca dell'autore · Harness di redirect · Studio sul framing a chunk

Leggi la patch. Ricostruisci il fallimento. Verifica entrambi i lati.

Un redirect cambia la destinazione mentre tre header sensibili restano allegati. Un parser di framing accetta input che la release successiva rifiuta. Afterimage trasforma correzioni di protocollo pubblicate in piccoli esperimenti prima/dopo ispezionabili.

Ho costruito gli harness e i casi di controllo attorno a release di urllib3 fissate e non modificate. Ogni risultato registra l'hash del pacchetto, il comportamento catturato, il confine del fixture e l'attribuzione upstream.

StudioRelease confrontateCorpus registratoIspeziona
Confine degli header di redirect · CVE-2026-44431urllib3 2.6.3 / 2.7.012 casi, inclusi comportamento affetto e controlli benigniRisultati · Harness
Framing a chunk · CVE-2026-97689urllib3 2.7.0 / 2.8.032 casi offline delimitatiMetodo e risultati

Tipo di ricerca: riproduzione indipendente di problemi pubblicati. Confine misurato: gestione degli argomenti della libreria e comportamento del framing in memoria. La sfruttabilità a livello applicativo e l'esaurimento delle risorse restano al di fuori di questi risultati dei fixture.

Apri lo studio pubblicato

Il confine degli header di redirect

CVE-2026-44431 · urllib3 2.6.3 → 2.7.0 · riprodotto il 27 settembre 2026

Una richiesta trasporta tre header sensibili verso un'origine. Un redirect cambia la destinazione. La richiesta successiva li trasporta ancora?

Questa regressione indipendente esegue la reale implementazione del redirect da due release esatte di urllib3. La versione 2.6.3 conserva tutti e tre gli header attraverso l'API di basso livello affetta. La versione 2.7.0 li rimuove. Un header benigno sopravvive, e le richieste ordinarie continuano a funzionare.

Risultato misurato

Fixtureurllib3 2.6.3urllib3 2.7.0
Redirect cross-origin di basso livello3 header sensibili conservati0 conservati
Stesso caso con nomi in minuscolo3 conservati0 conservati
Controllo con API di alto livello0 conservati0 conservati
Risposta 200 diretta3 conservati come previsto3 conservati come previsto
Redirect esplicitamente disabilitatoUna chiamata; 302 restituitoUna chiamata; 302 restituito
Set di rimozione personalizzato aggiunge marcatore benignoTutti e 4 gli header conservatiTutti e 4 rimossi

12/12 aspettative degli scenari superate. Ogni scenario verifica inoltre lo stato della risposta, il numero di chiamate di trasporto, il set iniziale di header, il risultato dell'header benigno e che gli header del chiamante non siano stati mutati. L'esito vulnerabile è un risultato di base atteso, non un controllo di sicurezza superato.

I risultati leggibili da macchina includono gli argomenti catturati, gli hash esatti dei wheel, il runtime, gli hash del codice di test, l'attribuzione e l'ora di riproduzione.

Il problema pubblicato

L'advisory upstream, pubblicato il 7 maggio 2026, identifica un problema di esposizione di informazioni nel percorso di redirect di basso livello con proxy di urllib3. Elenca le versioni >=1.23, <2.7.0 come affette. La chiamata ProxyManager.connection_from_url(...).urlopen(..., assert_same_host=False) poteva trasportare header sensibili configurati in una richiesta reindirizzata verso un'altra origine. L'API di alto livello del manager li rimuoveva già.

La correzione upstream applica Retry.remove_headers_on_redirect prima della richiesta ricorsiva di basso livello. Il nostro caso con header in minuscolo segue l'attenzione della regressione upstream alla capitalizzazione dei nomi degli header. Il caso di rimozione personalizzata verifica che la regola rispetti il set configurato, oltre ai soli tre nomi predefiniti.

L'advisory attribuisce a christos-cantina-security il ruolo di reporter, a illia-v quello di coordinatore e a sethmlarson quello di revisore della remediation. Il contributo di Sergio Rodriguez in questo caso è l'harness offline indipendente e l'analisi before/after. Questa è una riproduzione della loro CVE pubblicata.

Riprodurre il fixture

Usa Python 3.10 o successivo. Non è necessario alcun pip install o ambiente virtuale: ogni versione viene importata direttamente dal suo wheel pure-Python in un nuovo sottoprocesso isolato.

Dalla radice del repository del portfolio:

python -B ./labs/cve-replay/run_replay.py --fetch
python -B ./labs/cve-replay/run_replay.py

Il primo comando scarica i due wheel esatti nella directory .cache/wheels/ ignorata dal lab e verifica i loro hash SHA-256 rispetto al manifest. Il secondo comando utilizza quella cache senza scaricare. Per un checkout del codice sorgente autonomo, eseguire python -B run_replay.py --fetch, poi lo stesso comando senza --fetch. --cache accetta una diversa directory di cache locale.

Dove inizia il mock

HTTPConnectionPool._make_request viene sostituito con un trasporto a due risposte: un 302 con una location fissa, poi un 200. Il fixture cattura gli argomenti che raggiungono quel confine. Il parsing di urllib3, la policy di retry, il filtraggio degli header e la gestione ricorsiva dei redirect vengono eseguiti invariati dal wheel selezionato.

Tutte le destinazioni sono nomi riservati fissi .invalid; tutti i valori degli header iniziano con DUMMY. La costruzione dei socket e le funzioni DNS sollevano immediatamente un'eccezione. La sonda di capacità IPv6 all'import della libreria viene negata e registrata separatamente; gli scenari di replay non tentano alcuna operazione di rete. Non c'è alcun server in ascolto né target live.

Questo valida la gestione degli argomenti dei redirect. Non misura il traffico proxy end-to-end. La versione 2.7.0 è la prima correzione per questa specifica CVE; questo confronto storico non è una raccomandazione a sceglierla rispetto a release più recenti supportate.

Fonti e attribuzione

  • Maintainer advisory / CVE-2026-44431
  • Upstream fix and regression tests
  • Affected release source
  • Fixed release source
  • urllib3 2.7.0 release notes
  • Pinned package URLs, PyPI metadata, and hashes
Scarica lo strumento