漏洞总结:ptp_unpack_Sony_DPD() 枚举计数解析中的越界读取 漏洞概述 漏洞类型:越界读取(OOB read) 影响函数: 触发条件:在解析 PTP_DPPF_Enumeration 类型的枚举属性时,读取 2 字节枚举计数,但未验证缓冲区中是否仍有 2 字节可用。 根本原因:标准 PTP 解析器会检查边界,但 Sony 变体遗漏了该检查。 测试提交: 影响范围 受影响软件包: 受影响版本: CVSS 评分:5.2 / 10(中等) 攻击向量:物理 攻击复杂度:低 所需权限:无 用户交互:无 影响范围:未改变 机密性影响:高 完整性影响:无 可用性影响:低 CVE ID:CVE-2020-40338 弱点分类:CWE-125 修复方案 在 函数中添加边界检查,确保在读取 2 字节前确认缓冲区剩余空间足够。 建议修复代码(来自“Suggested Fix”部分): 技术细节对比: 标准 PTP 解析器(正确): Sony DPD 解析器(易受攻击): 影响说明 可能导致相邻堆内存泄露(两个字节)。 独立于代码库中其他发现,可单独修复。