Ci sono siti web là fuori, che non saranno aggiornati non appena il primo browser supporta la tua proposta. Questi siti non controllano l'intestazione XHR-Origin e sono quindi vulnerabili.
Esempio di vulnerabilità
Supponiamo che tu abbia effettuato l'accesso alla tua banca. Senza uscire, visiti un altro sito web. Questo sito Web invia una richiesta XHR alla tua banca per richiedere una risposta JSON, che viene utilizzata nella visualizzazione della cronologia dell'account.
Sì, questa richiesta avrà un'intestazione XHR-Origin, ma se il software della banca non viene regolato, rivelerà dati sensibili.
Quindi è responsabilità del browser non interrompere le restrizioni SOP esistenti.
CORS è completamente compatibile SOP?
Le specifiche CORS fanno una serie di eccezioni per le quali non è richiesto il controllo di preflight. Quelli si basano su situazioni in cui il SOP non è mai stato applicato nello psat (per esempio nel modulo di invio).
Il problema nella bozza corrente è che si basa esclusivamente sull'intestazione Content-Type, ma le applicazioni web tendono a ignorarlo.
C'è stata una bella chiacchierata di Shreeraj Shah a Blackhat Europe 2012 su HTML5 Le 10 principali minacce: attacchi furtivi e exploit silenziosi