
Safari lecture vidéo inter-origine
WebKit WebGPU importExternalTexture fuite d'informations cross-origin. Safari < 26.5.2.
Page de vérification (ouvrir avec Safari < 26.5.2) :
https://cve43700-attacker.vercel.app
Vidéo cross-origin :
https://cve43700-victim.vercel.app/colorcycle.mp4
[BYPASS] + trame par trame [LEAK] RGBA = [...] -> rouge/vert/bleu/blanc[PATCHED] importExternalTexture blocked: SecurityErrorGPUDevice.importExternalTexture({source: HTMLVideoElement}) importe la vidéo en tant que GPUExternalTexture échantillonnable par le GPU. Avant la correction, la vidéo n'était pas soumise à la vérification cross-origin via taintsOrigin ; une vidéo tainted, cross-origin et sans CORS pouvait également être importée, puis échantillonnée via un shader WGSL, et les pixels étaient lus en JS via copyTextureToBuffer + mapAsync, contournant la politique de même origine pour fuiter des trames vidéo cross-origin.
La correction (commit 67b563b8, bug 315368) a ajouté checkVideoElementOriginTaint dans les chemins de cache et de création de GPUDevice::importExternalTexture ; une vidéo tainted lève directement une SecurityError.