漏洞总结:ptp_unpack_OI() 中的越界读取漏洞 漏洞概述 漏洞类型:越界读取 (OOB read) 漏洞位置: 文件中的 函数 漏洞描述: - 在 函数中,存在一个越界读取漏洞。 - 函数验证了 (即 ),但随后访问了偏移量 48-56,即越过了验证边界最多 9 个字节。 - 该漏洞通过 Samsung Galaxy 64-bit objectsize 检测启发式方法进行测试。 影响范围 受影响版本: 版本 <= 2.5.33 修复版本:无 CVSS v3 基础指标: - 攻击向量:物理 - 攻击复杂度:低 - 特权要求:无 - 用户交互:无 - 范围:未改变 - 机密性:高 - 完整性:无 - 可用性:高 - CVSS 评分:6.1 / 10 CVE ID:CVE-2024-40340 弱点:CWE-125 修复方案 建议修复: - 在 函数中,增加对 的验证: 影响: - 通过相邻缓冲区内容泄露堆内存。 - 项目的 SECURITY.md 明确指出使用 USB/PTP-IP 设备数据是不受信任的,且内存损坏在范围内。 技术细节 文件: ,第 530-563 行 函数验证: 越界访问: - 偏移量 48-51: :4 字节越界 - 偏移量 52: :5 字节越界 - 偏移量 56: :9 字节越界 潜在影响: - 这些读取可能会暴露由不受信任的设备数据分配的相邻堆内存内容。 攻击场景 攻击方式: - 恶意 USB 设备或恶意 PTP/IP 网络端点发送一个包含 的伪造 PTP ObjectInfo 响应。 - 在 Linux 上,GNOME 的 会自动挂载 PTP 设备,无需用户交互(在默认 Ubuntu/Fedora 桌面上)。 - 被调用以处理 PTP 设备上的每个文件,使得此漏洞成为代码库中最直接可利用的发现。