CVE-2026-78997 的 PoC,这是 UC Browser for Android 中的一个通用 XSS 漏洞。包含一个精心构造的 URL 生成器、一个回调分发预言机,以及用于观察存在漏洞的桥接的 Frida hook。
CVE-2026-78997 的 PoC 材料 — UC Browser for Android(com.UCMobile.intl,版本 13.7.8.1314)中的通用跨站脚本漏洞,由 Omri Inbar (Novee) 披露。
在桥接白名单域名 mtmsg.uc.cn 上的反射型 XSS 可获取特权 ucapi JavaScript 桥接的访问权限。account.openLoginWindow 桥接 API 将攻击者控制的 JavaScript 字符串作为登录/取消回调存储在原生内存中,这些字符串在页面导航后仍然存在。当用户在目标站点上关闭原生登录对话框时,回调会在空 URL 防护下被派发,浏览器使用 WebView.evaluateJavascript() 在已加载页面的源中执行它——从而绕过同源策略。
| 文件 | 用途 |
|---|---|
poc_url_builder.py | 完全按照文档所述组装精心构造的 mtmsg.uc.cn URL(反射的 email 参数、base64 第二阶段、account.openLoginWindow 注册、导航)。预设:alert(研究者的演示)、demo(无害)、exfil(收集器模板)。仅组装字符串——不联系任何主机。 |
callback_oracle.py | 漏洞回调派发机制的自包含微型实现(存储 → 导航 → 在空 URL 防护下派发)。使用 --fixed 运行可查看源绑定修复方案阻止同一攻击链。 |
frida_hooks.js | 在 WebView.evaluateJavascript 上的 Frida hook,用于在您拥有的硬件上观察真实应用中的派发过程。 |
# 1. Build the crafted URL (string assembly only)
$ python3 poc_url_builder.py alert --victim https://www.google.com
# 2. Watch the mechanism (vulnerable vs. fixed dispatch)
$ python3 callback_oracle.py
$ python3 callback_oracle.py --fixed
# 3. Observe in the real app (device/emulator you own, vulnerable build)
$ frida -U -f com.UCMobile.intl -l frida_hooks.js --no-pause
在存在漏洞的版本上:打开精心构造的 URL,让其导航到目标站点,然后关闭原生登录对话框(点击登录选项并按 X,或以其他方式关闭)。存储的回调会在目标站点的源中触发。
URL 构建器不执行任何网络 I/O。mtmsg.uc.cn 反射和桥接行为已在研究者的公开披露中记录(见下文引用)。仅针对您拥有或明确授权测试的设备和网络位置进行测试。未经授权访问计算机系统在大多数司法管辖区属于违法行为。