Infuria il dibattito sui difetti da IE a Firefox: interviene l'ex stratega della sicurezza di Microsoft

  • Oct 29, 2023

Sebbene Microsoft abbia rifiutato di commentare la drammatica falla da IE a Firefox (al di là di una dichiarazione "non è colpa nostra"), un ex responsabile della sicurezza Lo stratega va in difesa dell'azienda, sostenendo che non esiste un modo reale per Internet Explorer di convalidare il codice che viene passato a Firefox.

jesperjohansson.jpg
Mentre Microsoft ha rifiutato di commentare il Dramma sui difetti del passaggio da IE a Firefox (al di là di un "non è colpa nostra" dichiarazione), un ex stratega della sicurezza viene in difesa dell'azienda, sostenendo che non esiste un modo reale per Internet Explorer di convalidare il codice passato a Firefox.

Jesper Johansson (a sinistra), un guru degli interni di Windows che ora lavora presso Amazon.com, lo è stato seguendo da vicino la questione sul suo blog personale (vedi aggiornamento di seguito) e insiste sul fatto che la documentazione chiarisca che IE non promette mai di convalidare la stringa URL trasmessa ad applicazioni di terze parti.

Chiedo ancora: cosa vogliono le persone da IE, o meglio, da urlmon.dll, che gestisce questa invocazione, per convalidare l'input? IE NON supporta alcun protocollo FirefoxURL e non sa nulla di come si presenta un'invocazione legittima di quel protocollo. Si potrebbe sostenere che IE non dovrebbe consentire il passaggio delle virgolette, ma perché le virgolette dovrebbero essere illegali in tutti i protocolli personalizzati? Il gestore del protocollo non fornisce informazioni a urlmon.dll sull'aspetto di una richiesta legittima e pertanto urlmon.dll non ha la capacità di convalidare l'input. Infatti, ciò è documentato: "il gestore del protocollo URL passa la stringa URL completa all'applicazione registrata nel comando" [

Registrazione di un'applicazione su un protocollo URL, Libreria MSDN]. In realtà è abbastanza chiaro: IE non convalida la stringa URL, né promette mai di farlo. Passa l'intera stringa al gestore del protocollo URL tramite una chiamata a ShellExecuteEx, se l'applicazione è registrata utilizzando una semplice invocazione del gestore del protocollo URL.

Johansson afferma che è chiaro dalla documentazione che la responsabilità di convalidare la stringa URL spetta all'applicazione. "Se l'applicazione può accettare ed elaborare comandi pericolosi tramite il suo gestore di protocollo, as Firefox lo fa, è ancora più importante che l'applicazione si preoccupi di convalidare prima l'URL elaborandolo. In effetti urlmon.dll fornisce anche questo modo," sostiene.

Tuttavia, nella sezione commenti, Steve Christy, ingegnere della sicurezza di MITRE Corp., suggerisce un modo per IE di bloccare il vettore di attacco:

L'exploit include una virgoletta iniziale, che IE sembra inserire nella riga di comando, che taglia la parte "URL" degli argomenti passati a Firefox. Sembra un problema che potrebbe verificarsi con qualsiasi gestore di protocollo arbitrario. Questo potrebbe essere testato creando un gestore di protocollo personalizzato e registrandolo, quindi verificando se IE esegue correttamente l'escape/quoting di ogni %1 o argomento correlato prima di passarlo al programma ricevente. Non posso farlo però, dal momento che non sono uno sviluppatore MS :)

Ora, posso vedere come sarebbe difficile se non impossibile per IE risolvere questo problema per gestori arbitrari o qualsiasi tecnologia che utilizzi "modelli" esterni per modificare le righe di comando (non mi sorprenderebbe se altri browser avessero problemi simili) - ma ciò non rende colpa dell'applicazione chiamata se viene chiamata con interruttori che l'applicazione chiamante non avevo intenzione.

In risposta, Johansson ha affermato che sarebbe carino per IE imporre ulteriori restrizioni su ciò che passa a un protocollo gestore, ma chiarisci che è difficile per IE prendere decisioni riguardo a cosa possono accedere i plug-in di terze parti Vedere. È ancora peggio farlo dopo il fatto, ha detto.

È anche abbastanza chiaro nella documentazione che IE, o piuttosto urlmon.dll, passerà l'intera stringa all'applicazione. Se gli handle analizzeranno parametri che possono causare problemi, il metodo di invocazione utilizzato da FF non è sicuro.

Mentre il dibattito infuria, penso che Microsoft dovrebbe tenere presente che le persone a rischio qui sono gli utenti Windows. Un approccio non intervensivo non cambia la situazione.