~/talk

Overcoming JavaScript Unsecurities in WebViews

Talkat droidcon London 2025 · 2025-10-30..10-31· [security, web-platform]
slides:none on file

Running JavaScript in Android WebViews is practical but risky: demos show file XHR exfiltration from app assets, JavaScript bridge token leak via timing/race conditions, and unintended launches of internal activities through intent URIs. Mitigations that are shown and proven to work include disabling file access and universal access, using WebViewAssetLoader instead of manual webResourceResponse plumbing, validating getUrl() in real time before sensitive actions, prefer allowlists, and using the new JS Engine 1.0 (isolated, no network) or WebMessage/AndroidX WebKit APIs for safer bridges.

AI-written summary · about

  1. 0:00Introduction
  2. 2:30WebView lifecycle
  3. 4:35Secure JS enablement
  4. 7:02JS scheme attacks
  5. 9:31File access risks
  6. 11:59Response vulnerabilities
  7. 15:30Cross-site scripting risks with JavaScript interfaces
  8. 18:16Timing attacks on bridges
  9. 21:46Legacy bridge flaws
  10. 23:50Intent URI risks
  11. 26:40Secure JS engine
  12. 28:45Password demo & performance
  13. 30:52Modern WebView alternatives
  14. 32:14Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.