
Exploit de prova de conceito para CVE-2026-43700: vazamento de quadros de vídeo entre origens no Safari WebGPU via importExternalTexture, contornando a política de mesma origem para exfiltrar dados de pixel usando shaders WGSL.
WebKit WebGPU importExternalTexture vazamento de informações entre origens. Safari < 26.5.2.
Página de validação (abrir com Safari < 26.5.2):
https://cve43700-attacker.vercel.app
Vídeo entre origens:
https://cve43700-victim.vercel.app/colorcycle.mp4
[BYPASS] + leitura quadro a quadro [LEAK] RGBA = [...] -> vermelho/verde/azul/branco[PATCHED] importExternalTexture blocked: SecurityErrorGPUDevice.importExternalTexture({source: HTMLVideoElement}) importa o vídeo como uma amostrável pela GPU. Antes da correção, não havia verificação de entre origens no vídeo; vídeos tainted de outra origem e sem CORS também podiam ser importados. Em seguida, um shader WGSL amostra a textura e + lê os pixels de volta para o JS, contornando a política de mesma origem para vazar quadros de vídeo entre origens.
GPUExternalTexturetaintsOrigincopyTextureToBuffermapAsyncA correção (commit 67b563b8, bug 315368) adicionou checkVideoElementOriginTaint tanto no caminho de acerto do cache quanto no caminho de nova criação em GPUDevice::importExternalTexture; vídeos tainted agora lançam SecurityError diretamente.