
Exploit proof-of-concept per CVE-2026-43700: perdita di frame video cross-origin in Safari WebGPU tramite importExternalTexture, bypassando la same-origin policy per esfiltrare dati dei pixel usando shader WGSL.
WebKit WebGPU importExternalTexture perdita di informazioni cross-origin. Safari < 26.5.2.
Pagina di verifica (apri con Safari < 26.5.2):
https://cve43700-attacker.vercel.app
Video cross-origin:
https://cve43700-victim.vercel.app/colorcycle.mp4
[BYPASS] + fotogramma per fotogramma [LEAK] RGBA = [...] -> rosso/verde/blu/bianco[PATCHED] importExternalTexture bloccato: SecurityErrorGPUDevice.importExternalTexture({source: HTMLVideoElement}) importa il video come campionabile dalla GPU. Prima della correzione, non veniva effettuato il controllo cross-origin sul video, quindi anche un video tainted cross-origin senza CORS poteva essere importato. Successivamente, usando uno shader WGSL per campionare, + per leggere i pixel in JS, si aggira la same-origin policy, divulgando i frame del video cross-origin.
GPUExternalTexturetaintsOrigincopyTextureToBuffermapAsyncLa correzione (commit 67b563b8, bug 315368) ha aggiunto checkVideoElementOriginTaint sia nel percorso di cache hit che in quello di creazione di GPUDevice::importExternalTexture. I video tainted generano direttamente un SecurityError.