
Lectura de información de origen cruzado en Safari
Fuga de información entre orígenes en WebKit. Safari < 26.5.2.
Página de verificación (para abrir con Safari < 26.5.2):
https://cve43735-victim.vercel.app
iframe entre orígenes:
https://cve43735-attacker.vercel.app
[LEAK] leakedEmail = [email protected] / leakedAccountId = ACCOUNT_314159[PATCHED] NavigateEvent.sourceElement is nullCuando la página padre usa <a target=iframe名> para provocar una navegación por fragmento del iframe entre orígenes, el NavigateEvent.sourceElement que recibe el iframe es ese elemento <a> de la página padre, y sourceElement.ownerDocument es todo el Document de la página padre. De este modo, el iframe entre orígenes puede leer (querySelector(...).textContent), modificar (cambiar el DOM / cambiar el action del formulario) e incluso inyectar <script> para ejecutar JS en el origen del padre, eludiendo la política de mismo origen. La corrección (Navigation::innerDispatchNavigateEvent) hace una comprobación de mismo origen antes de despachar el evento y, cuando los orígenes son cruzados, pone sourceElement a null.