Existen sitios web que no se actualizarán tan pronto como el primer navegador admita su propuesta. Esos sitios no verifican el encabezado XHR-Origin y, por lo tanto, son vulnerables.
Ejemplo de vulnerabilidad
Supongamos que ha iniciado sesión en su banco. Sin cerrar sesión, visita otro sitio web. Este sitio web envía una solicitud XHR a su banco para solicitar una respuesta JSON, que se utiliza en la vista del historial de la cuenta.
Sí, esta solicitud tendrá un encabezado XHR-Origin, pero si el software del banco no está ajustado, revelará datos confidenciales.
Por lo tanto, es responsabilidad del navegador no romper las restricciones SOP existentes.
¿Es CORS totalmente compatible con SOP?
La especificación CORS hace una serie de excepciones para las cuales no se requiere la verificación previa al chequeo. Se basan en situaciones en las que el SOP nunca se aplicó en el psat (por ejemplo, envío de formularios).
El problema en el borrador actual es que se basa únicamente en el encabezado Content-Type, pero las aplicaciones web tienden a ignorarlo.
Shreeraj Shah habló en Blackhat Europe 2012 sobre Top 10 amenazas de HTML5: ataques furtivos y ataques silenciosos