dem0ns/CVE-2026-43700
GitHub: dem0ns/CVE-2026-43700
该项目是 Safari WebGPU `importExternalTexture` 跨域视频帧泄露漏洞(CVE-2026-43700)的概念验证,演示了如何绕过同源策略读取跨域视频像素。
Stars: 0 | Forks: 0
# CVE-2026-43700
WebKit WebGPU `importExternalTexture` 跨域信息泄露。Safari < 26.5.2。
## PoC
验证页(用 Safari < 26.5.2 打开):
https://cve43700-attacker.vercel.app
跨域视频:
https://cve43700-victim.vercel.app/colorcycle.mp4
## 判定
- 漏洞版本: `[BYPASS]` + 逐帧 `[LEAK] RGBA = [...] -> 红/绿/蓝/白`
- 修复版本 (>= 26.5.2): `[PATCHED] importExternalTexture blocked: SecurityError`
## 原理
`GPUDevice.importExternalTexture({source: HTMLVideoElement})` 把视频导入成 GPU 可采样的 `GPUExternalTexture`。修复前没有对视频做 `taintsOrigin` 跨域检查,跨域且无 CORS 的 tainted 视频也能被导入,再用 WGSL shader 采样、`copyTextureToBuffer` + `mapAsync` 把像素读回 JS,绕过同源策略泄露跨域视频帧。
修复(commit `67b563b8`,bug 315368)在 `GPUDevice::importExternalTexture` 的缓存命中路径和新建路径都补了 `checkVideoElementOriginTaint`,tainted 视频直接抛 `SecurityError`。
标签:PoC, WebGPU, WebKit, Web安全, 信息泄露, 后端开发, 数据可视化, 暴力破解, 蓝队分析