
Доказательство концепции эксплуатации для CVE-2026-43700: утечка кадров видео между источниками в Safari WebGPU через importExternalTexture, обход политики same-origin для эксфильтрации данных пикселей с помощью WGSL-шейдеров.
WebKit WebGPU importExternalTexture межсайтовое раскрытие информации. Safari < 26.5.2.
Страница проверки (откройте в Safari < 26.5.2):
https://cve43700-attacker.vercel.app
Междоменное видео:
https://cve43700-victim.vercel.app/colorcycle.mp4
[BYPASS] + покадрово [LEAK] RGBA = [...] -> красный/зелёный/синий/белый[PATCHED] importExternalTexture blocked: SecurityErrorGPUDevice.importExternalTexture({source: HTMLVideoElement}) импортирует видео как , доступную для сэмплирования в GPU. До исправления не проводилась проверка на междоменный доступ, поэтому tainted-видео с другого домена без CORS могло быть импортировано. Затем с помощью WGSL шейдера выполняется сэмплирование, + считывают пиксели обратно в JS, обходя политику одинакового источника и раскрывая кадры междоменного видео.
GPUExternalTexturetaintsOrigincopyTextureToBuffermapAsyncИсправление (коммит 67b563b8, баг 315368) добавило checkVideoElementOriginTaint как на путь попадания в кэш, так и на путь создания нового объекта в GPUDevice::importExternalTexture. Tainted-видео теперь выбрасывает SecurityError.