Skip to content

v5.1.7-androidx

Latest

Choose a tag to compare

@Justson Justson released this 14 Sep 04:06

⚠️ 本次包含安全修复,影响 5.1.6-androidx 及更早的所有版本,强烈建议升级。

implementation 'com.github.Justson.AgentWeb:agentweb-core:5.1.7-androidx'
implementation 'com.github.Justson.AgentWeb:agentweb-filechooser:5.1.7-androidx' // (可选)

安全修复

  • 网页可拉起宿主应用未导出的页面(Intent Redirection) —— DefaultWebClient 会把网页中的 intent URL(intent://...;component=...;end,或任意 scheme 附带 #Intent;...;end 片段)原样解析,并以宿主 Activity 的身份启动。由于系统按宿主 uid 做导出检查,网页因此可以越过 android:exported="false" 的限制拉起宿主内部页面,并携带任意 extras。默认配置即受影响。现已修复:

    • 网页指定的组件若属于宿主自身,将被忽略,只能命中宿主声明过 intent-filter 的页面
    • 宿主未导出的页面在任何 OpenOtherPageWays 模式下都不会被打开
    • 清除网页传入的 selector、嵌套 Intent 与 URI 权限授予类 flags

    修复后,网页能打开的宿主页面不会超出外部应用能打开的范围。如需让 H5 打开未导出页面,请通过 JSBridge 由原生代码发起。

行为变更

  • intent:// 链接现在与其他 scheme 一样受 OpenOtherPageWays 控制:默认 ASK 模式下,跳转其他应用前会先弹窗询问;DISALLOW 模式下不再打开。跳转宿主自身已导出的页面仍直接打开。
    如需保持以前直接跳转的行为:
    .setOpenOtherPageWays(DefaultWebClient.OpenOtherPageWays.DERECT)

功能修复

  • 询问弹窗被复用,导致连续点击不同链接时,确认后打开的始终是第一次点击的链接