深入解析 shared_preferences_android 反序列化漏洞

本文详细分析了Flutter插件shared_preferences_android中一个低危安全漏洞(GHSA-3hpf-ff72-j67p)。该漏洞源于在处理特定不可原生存储的数据类型时,插件使用了字符串前缀进行序列化与反序列化,攻击者可能借此注入恶意代码并执行。

shared_preferences_android 漏洞 · GHSA-3hpf-ff72-j67p · GitHub 安全公告数据库

漏洞详情

包管理器: pub 包名称: shared_preferences_android (Pub)

受影响版本: <= 2.3.3 已修复版本: 2.3.4

描述

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

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

补丁 版本 2.3.4

临时解决方案 更新至包含修复此漏洞更改的 shared_preferences_android 最新版本。

参考信息 待定

更多信息 请访问我们的社区页面以联系团队。

致谢 非常感谢来自 sonarsource 的 Oskar Zeino-Mahmalat 发现并报告此问题!

参考资料

  • GHSA-3hpf-ff72-j67p
  • flutter/packages 提交记录 15501ec

发布与更新信息

由 jtmcdole 发布至 flutter/packages 代码库。

  • 发布日期:2024年12月6日
  • GitHub 安全公告数据库发布日期:2024年12月6日
  • 审核日期:2024年12月6日
  • 最后更新日期:2024年12月9日

严重性等级

CVSS 总体评分:3.0 / 10

CVSS v3 基础指标

CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:L/A:L

攻击向量:本地 攻击复杂度:高 所需权限:高 用户交互:无 影响范围:未改变 机密性影响:无 完整性影响:低 可用性影响:低

EPSS 评分

(文章中未提供具体分数)

缺陷 (Weaknesses)

缺陷 CWE-502:不可信数据的反序列化

  • 产品在没有充分验证结果数据是否有效的情况下反序列化了不可信的数据。在 MITRE 上了解更多信息。

标识符

  • CVE ID:无已知 CVE
  • GHSA ID:GHSA-3hpf-ff72-j67p

源代码

  • 项目:flutter/packages

贡献者

  • 报告者:oskar-zeinomahmalat-sonarsource
  • 协调员:reidbaker
  • 修复开发者:stuartmorgan-g
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计