
PoC для CVE-2026-78997 — универсальный XSS в UC Browser для Android. Включает конструктор специально сформированных URL, оракул диспетчеризации обратных вызовов и хуки Frida для наблюдения за уязвимым мостом.
Материалы PoC для CVE-2026-78997 — универсальный межсайтовый скриптинг в
UC Browser для Android (com.UCMobile.intl, версия 13.7.8.1314),
раскрытый Omri Inbar (Novee).
Отражённый XSS на домене mtmsg.uc.cn, внесённом в белый список моста,
предоставляет доступ к привилегированному JavaScript-мосту ucapi. API моста
account.openLoginWindow сохраняет контролируемые злоумышленником
JavaScript-строки как колбэки входа/отклонения в нативной памяти, где
они переживают навигацию по страницам. Когда пользователь закрывает нативный
диалог входа поверх целевого сайта, колбэк вызывается с
пустой проверкой URL, и браузер выполняет его через
WebView.evaluateJavascript() в origin той страницы, которая загружена —
в обход политики Same-Origin.
Полный анализ: https://www.hunt-benito.com/blog/the-callback-that-outlived-the-page-cve-2026-78997-uc-browser-android-universal-xss/
# 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, или закройте его любым другим способом). Сохранённый колбэк срабатывает в origin сайта жертвы.
Конструктор URL не выполняет сетевых операций. Отражение на mtmsg.uc.cn
и поведение моста задокументированы в публичном раскрытии исследователя
(ссылки ниже). Тестируйте только на устройствах и сетевых позициях, которые
вам принадлежат или которые вы явно уполномочены тестировать. Несанкционированный
доступ к компьютерным системам незаконен в большинстве юрисдикций.
| Файл | Назначение |
|---|
poc_url_builder.py | Собирает сформированный URL mtmsg.uc.cn в точности как задокументировано (отражённый параметр email, base64 stage-2, регистрация account.openLoginWindow, навигация). Пресеты: alert (демо исследователя), demo (безвредный), exfil (шаблон сборщика). Собирает только строку — не обращается ни к какому хосту. |
callback_oracle.py | Самодостаточная миниатюра уязвимого механизма вызова колбэка (сохранение → навигация → вызов с пустой проверкой URL). Запустите с --fixed, чтобы увидеть, как привязка к origin в исправлении блокирует ту же цепочку. |
frida_hooks.js | Хук Frida на WebView.evaluateJavascript для наблюдения за вызовом в реальном приложении на принадлежащем вам оборудовании. |