
Prova di concetto per CVE-2020-0601
Proof of Concept per CVE-2020-0601.

badecparams.py genera un'autorità di certificazione intermedia che sfrutta la vulnerabilità, quindi emette certificati Authenticode e TLS. I certificati TLS hanno la convalida estesa in Microsoft Edge e Internet Explorer.
httpd.py serve i contenuti della sottocartella www tramite HTTPS, utilizzando la catena di certificati codificati in PEM fornita dalla riga di comando.
./badecparams.py
./httpd.py localhost.key
Windows Update non è vulnerabile perché utilizza il pinning della chiave pubblica e chiavi RSA.
Le ultime definizioni antivirus di Windows Defender rilevano eseguibili firmati con certificati Authenticode malintenzionati, anche su macchine senza la patch di Microsoft.
Microsoft Edge, Internet Explorer e Chromium (e derivati) sono vulnerabili alla variante TLS. Firefox non è vulnerabile perché i Network Security Services (NSS) di Mozilla non supportano parametri EC espliciti e utilizzano una propria implementazione per la verifica dei certificati.
Chrome 79.0.3945.130 corregge la vulnerabilità e lancia NET::ERR_CERT_INVALID, anche su macchine senza la patch di Microsoft.