APK 包控制哈希验证漏洞总结 漏洞概述 在 包管理中,存在一个安全漏洞:系统验证了 的签名,但从未将下载的 包内容与签名索引中的校验和进行比较。这意味着攻击者可以通过镜像替换、HTTP 重定向或缓存投毒等方式,使实际安装的包内容与预期内容不一致,而系统无法检测到这种篡改。 影响范围 所有使用 包管理的系统 依赖 进行包验证的场景 可能受到中间人攻击、缓存投毒或镜像替换攻击的影响 修复方案 1. 在 中解码 前缀的 base64 校验和 2. 从签名索引中获取控制部分,并与控制部分的 SHA-1 进行比较 3. 如果校验和不匹配,则关闭文件描述符并返回错误 4. 在 中,通过哈希磁盘上的控制文件来验证缓存内容 POC 代码