在 Cordova 的 Android 平台中发现了一个严重的安全问题。我们正在发布 Cordova Android 的 4.0.2 版本来解决这些安全问题。我们建议所有使用 Cordova 4.0.x 或更高版本构建的 Android 应用程序升级到 Cordova Android 的 4.0.2 版本。如果您使用的是旧版本的 Cordova,我们也发布了包含相同修复的 3.7.2 版本,我们建议您将项目升级到这两个修复版本中的任何一个。其他 Cordova 平台(如 iOS)不受影响,无需更新。
当使用 Cordova CLI 时,使用 Cordova Android 4.0.2 的命令是
cordova platform add [email protected]
使用 3.7.2 的命令是
cordova platform add [email protected]
该安全问题是 CVE-2015-1835
为了您的方便,此处包含了 CVE 的文本。
CVE-2015-1835:远程利用 Apache Cordova on Android 中的二级配置变量
严重性:高
供应商:The Apache Software Foundation
受影响的版本:Cordova Android 版本高达 4.0.1(不包括 3.7.2)
描述:使用 Cordova 框架构建的,并且在 Config.xml 中没有设置明确值的 Android 应用程序,可以通过 Intent 设置未定义的配置变量。这可能导致应用程序中出现不必要的对话框,并导致应用程序行为发生变化,包括应用程序强制关闭。
最新发布的 Cordova Android 完全删除了通过 Intent 设置配置参数的功能。此更改是平台中的 API 更改,使用 config.xml 中设置的值的第三方插件应确保它们使用 preferences API 而不是依赖于 Intent bundle,因为 Intent bundle 在这种情况下可以被操纵。
升级路径:担心此问题的开发人员应使用 Cordova Android 4.0.2 重建他们的应用程序。无法升级到 4.0.2 的开发人员也可以选择升级到 Cordova Android 3.7.2。开发人员还应确保他们希望保护的变量在 config.xml 中指定。
鸣谢:此问题由 TrendMicro Mobile Threat Research Team (TRT) 的 Seven She 发现