home / blog
2026-11-08 · alta
CVE-2026-19553: Bypass di verifica hostname SSL in Python
Bypass della verifica SSL hostname in Python se server_hostname non è fornito a SSLContext.wrap_bio().

CVE-2026-19553 è una falla nel modulo SSL di Python: ssl.SSLContext.wrap_bio() non richiede server_hostname quando check_hostname è True. Se il parametro non viene fornito, la verifica hostname viene silenziosamente saltata. Il programma crede di verificare il certificato, ma non lo fa, permettendo attacchi man-in-the-middle su comunicazioni TLS. Colpisce applicazioni Python che gestiscono HTTPS, API client, web server e ogni software affidato a Python per comunicazioni crittate.
La gravità è alta: CVSS 7,6, fascia High. La verifica hostname è un controllo TLS fondamentale; il suo bypass silenzioso è pericoloso perché i team di sicurezza potrebbero non rilevare la misconfiguraizone. Un attaccante man-in-the-middle può presentare un certificato valido per un altro dominio e il server lo accetterà. Una patch è disponibile; aggiornare Python all'ultima versione o applicare il patch ufficiale. Il segnale GitHub (8 novembre 2026) documenta un laboratorio dimostrativo della falla.
In difesa: controllare il codice Python che usa ssl.SSLContext.wrap_bio(), asyncio.create_connection() o asyncio.loop.start_tls(). Assicurare che server_hostname sia sempre fornito con valore valido (non None, non stringa vuota). Questa azione mitiga il rischio senza patch. Aggiornare Python all'ultima versione: il fix cambierà il comportamento da 'bypass silenzioso' a 'ValueError' se server_hostname manca, rendendo gli errori evidenti. Testare le configurazioni SSL e monitorare i log per ValueError inattesi durante la transizione.
Per amministratori e team IT: se l'ambiente Python non è aggiornato e il codice non fornisce server_hostname, ogni comunicazione verso server esterni (API, cloud, database remoti) potrebbe essere intercettata. Un attaccante sulla rete potrebbe presentare certificati falsi e accedere a dati sensibili: credenziali API, token, dati in transito. La mitigazione senza patch è essenziale nei progetti critici; l'aggiornamento va pianificato e testato.
In sintesi
- Cosa
- Una falla in ssl.SSLContext.wrap_bio() e API correlate (asyncio.create_connection, asyncio.loop.start_tls) che permette il bypass della verifica hostname se il parametro server_hostname non è fornito, anche con check_hostname=True. La verifica viene silenziosamente saltata, rendendo vulnerabili le comunicazioni TLS.
- Gravità
- CVSS 7,6, fascia High. Il bypass della verifica hostname espone a attacchi man-in-the-middle, permettendo l'intercettazione di comunicazioni crittate.
- Versioni interessate
- Prodotto e versioni specifiche non riportate nella documentazione disponibile. I dati indicano che Python in versioni attuali è interessato; verificare la documentazione ufficiale per il vostro ambiente.
- Correzione
- Esiste una patch. Aggiornare Python all'ultima versione disponibile oppure applicare la patch ufficiale. La correzione cambia il comportamento da 'bypass silenzioso' a 'generazione di ValueError' quando server_hostname non è fornito.
- Stato
- Patch disponibile. Segnale GitHub recente (8 novembre 2026) documenta laboratorio dimostrativo locale della vulnerabilità.
- Azione
- Azione immediata: verificare il codice che usa ssl.SSLContext.wrap_bio(), asyncio.create_connection() e asyncio.loop.start_tls(). Assicurare che server_hostname sia sempre fornito con un valore non-None e non-empty. Aggiornare Python alla versione più recente. Testare la configurazione SSL dopo l'aggiornamento.
Fonti: NVD, CVE-2026-19553