Flutter Android共享首选项反序列化漏洞分析

本文详细分析了shared_preferences_android包中的安全漏洞,该漏洞由于序列化机制缺陷导致可能被恶意利用执行任意代码,影响版本2.3.3及以下,已发布2.3.4修复版本。

漏洞详情

包信息

  • 包名: shared_preferences_android (Pub)
  • 受影响版本: = 2.3.3
  • 已修复版本: 2.3.4

影响分析

由于某些数据类型在可用存储选项中无法原生表示,shared_preferences_android使用特殊字符串前缀来序列化和反序列化这些不可表示的数据类型。这导致任意类可以被反序列化,从而可能执行任意代码。

因此,包含首选项的文件可能被恶意文件覆盖,其中包含的反序列化负载在从磁盘加载数据时会立即触发。

修复措施

  • 补丁版本: 2.3.4
  • 临时解决方案: 更新到包含修复此漏洞更改的最新版本shared_preferences_android

安全评分

  • 严重程度: 低
  • CVSS总体评分: 3.0/10
  • CVSS v3基础指标:
    • 攻击向量: 本地
    • 攻击复杂度: 高
    • 所需权限: 高
    • 用户交互: 无
    • 范围: 未改变
    • 机密性: 无影响
    • 完整性: 低
    • 可用性: 低

弱点分类

  • 弱点: CWE-502 - 不可信数据的反序列化
  • 描述: 产品在未充分验证结果数据有效性的情况下反序列化不可信数据

致谢

特别感谢sonarsource的Oskar Zeino-Mahmalat发现并报告此问题!

参考信息

  • GHSA ID: GHSA-3hpf-ff72-j67p
  • 源代码: flutter/packages
  • 发布时间: 2024年12月6日
  • 最后更新: 2024年12月9日
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计