
PoC für CVE-2026-78997, ein Universal XSS im UC Browser für Android. Enthält einen präparierten URL-Builder, ein Callback-Dispatch-Orakel und Frida-Hooks zur Beobachtung der verwundbaren Bridge.
PoC-Material für CVE-2026-78997 — Universal Cross-Site Scripting in
UC Browser für Android (com.UCMobile.intl, Version 13.7.8.1314),
offengelegt von Omri Inbar (Novee).
Ein reflektiertes XSS auf der bridge-whitelisted Domain mtmsg.uc.cn gewährt
Zugriff auf die privilegierte ucapi JavaScript-Bridge. Die
account.openLoginWindow Bridge-API speichert angreiferkontrollierte
JavaScript-Strings als Login-/Dismiss-Callbacks im nativen Speicher, wo
sie die Seitennavigation überleben. Wenn der Benutzer den nativen Login-
Dialog über der Zielseite schließt, wird der Callback mit einem
leeren URL-Guard ausgelöst, und der Browser führt ihn mit
WebView.evaluateJavascript() im Origin der gerade geladenen Seite aus —
unter Umgehung der Same-Origin Policy.
Vollständige Analyse: 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
Bei einem anfälligen Build: Öffnen Sie die präparierte URL, lassen Sie sie zur Opferseite navigieren und schließen Sie dann den nativen Login-Dialog (tippen Sie auf eine Anmelde- option und drücken Sie X, oder schließen Sie ihn auf andere Weise). Der gespeicherte Callback wird im Origin der Opferseite ausgelöst.
Der URL-Builder führt keine Netzwerk-I/O durch. Die mtmsg.uc.cn-Reflexion
und das Bridge-Verhalten sind in der öffentlichen Offenlegung des Forschers
(unten referenziert) dokumentiert. Testen Sie nur gegen Geräte und Netzwerk-
positionen, die Ihnen gehören oder für die Sie ausdrücklich autorisiert sind. Unbefugter
Zugriff auf Computersysteme ist in den meisten Rechtsordnungen illegal.
| Datei | Zweck |
|---|
poc_url_builder.py | Setzt die präparierte mtmsg.uc.cn URL exakt wie dokumentiert zusammen (reflektierter email-Parameter, Base64-Stage-2, account.openLoginWindow-Registrierung, Navigation). Presets: alert (Demo des Forschers), demo (harmlos), exfil (Collector-Vorlage). Setzt nur einen String zusammen — kontaktiert keinen Host. |
callback_oracle.py | Eigenständige Miniatur des anfälligen Callback-Dispatch-Mechanismus (Speichern → Navigieren → Auslösen mit leerem URL-Guard). Mit --fixed ausführen, um zu sehen, wie die origin-gebundene Behebung dieselbe Kette blockiert. |
frida_hooks.js | Frida-Hook auf WebView.evaluateJavascript zur Beobachtung des Dispatch in der echten App auf Hardware, die Ihnen gehört. |