
Exploit de prueba de concepto para CVE-2026-43700: fuga de fotogramas de video entre orígenes en Safari WebGPU mediante importExternalTexture, evadiendo la política de mismo origen para exfiltrar datos de píxeles usando shaders WGSL.
WebKit WebGPU importExternalTexture Fuga de información entre orígenes. Safari < 26.5.2.
Página de verificación (abrir con Safari < 26.5.2):
https://cve43700-attacker.vercel.app
Video entre orígenes:
https://cve43700-victim.vercel.app/colorcycle.mp4
[BYPASS] + cuadro por cuadro [LEAK] RGBA = [...] -> rojo/verde/azul/blanco[PATCHED] importExternalTexture bloqueado: SecurityErrorGPUDevice.importExternalTexture({source: HTMLVideoElement}) importa un video como muestreable por la GPU. Antes de la corrección, no se realizaba la verificación de origen cruzado en el video, por lo que un video contaminado de otro origen sin CORS también podía importarse, luego se muestreaba con un shader WGSL, se leían los píxeles de vuelta a JS mediante + , evitando la política de mismo origen y filtrando fotogramas de video de otro origen.
GPUExternalTexturetaintsOrigincopyTextureToBuffermapAsyncLa corrección (commit 67b563b8, bug 315368) agregó checkVideoElementOriginTaint tanto en la ruta de acierto de caché como en la ruta de creación de GPUDevice::importExternalTexture, y los videos contaminados lanzan directamente un SecurityError.