Vladimir Palant, creatore di Adblock Plus,
La causa del problema è che l'antivirus Bitdefender esegue l'intercettazione locale del traffico HTTPS sostituendo il certificato TLS originale del sito. Sul sistema del cliente viene installato un certificato root aggiuntivo che consente di nascondere il funzionamento del sistema di controllo del traffico utilizzato. L'antivirus si incunea nel traffico protetto e inserisce in alcune pagine il proprio codice JavaScript per implementare la funzione Safe Search e, in caso di problemi con il certificato di connessione sicura, sostituisce la pagina di errore restituita con la propria. Poiché la nuova pagina di errore viene servita per conto del server aperto, le altre pagine su quel server hanno pieno accesso al contenuto inserito da Bitdefender.
Quando si apre un sito controllato da un utente malintenzionato, quel sito può inviare una XMLHttpRequest e fingere problemi con il certificato HTTPS durante la risposta, il che porterà alla restituzione di una pagina di errore falsificata da Bitdefender. Poiché la pagina di errore viene aperta nel contesto del dominio dell'aggressore, quest'ultimo può leggere il contenuto della pagina falsificata con i parametri di Bitdefender. La pagina fornita da Bitdefender contiene anche una chiave di sessione che ti consente di utilizzare l'API interna di Bitdefender per avviare una sessione separata del browser Safepay, specificando flag arbitrari della riga di comando e per avviare qualsiasi comando di sistema utilizzando "--utility-cmd-prefix" bandiera. Un esempio di exploit (param1 e param2 sono valori ottenuti dalla pagina di errore):
var richiesta = new XMLHttpRequest();
request.open("POST", Math.random());
request.setRequestHeader("Tipo di contenuto", "application/x-www-form-urlencoded");
request.setRequestHeader(«BDNDSS_B67EA559F21B487F861FDA8A44F01C50», param1);
request.setRequestHeader(«BDNDCA_BBACF84D61A04F9AA66019A14B035478», param2);
request.setRequestHeader(«BDNDWB_5056E556833D49C1AF4085CB254FC242», «obk.run»);
request.setRequestHeader(«BDNDOK_4E961A95B7B44CBCA1907D3D3643370D», location.href);
request.send("data:text/html,nada —utility-cmd-prefix=\"cmd.exe /k whoami & echo\"");
Ricordiamo che uno studio condotto nel 2017
Solo 11 dei 26 prodotti fornivano suite di cifratura attuali. 5 sistemi non hanno verificato i certificati (Kaspersky Internet Security 16 Mac, NOD32 AV 9, CYBERsitter, Net Nanny 7 Win, Net Nanny 7 Mac). I prodotti Kaspersky Internet Security e Total Security sono stati oggetto di attacchi
Fonte: opennet.ru