漏洞总结:PSD解码器中的堆缓冲区溢出 漏洞概述 漏洞类型:堆缓冲区溢出(Heap Buffer Overflow) 漏洞描述:在PSD解码器中, (每像素字节数)的计算基于原始头字段( ),但像素缓冲区是基于解析后的像素格式分配的。对于LAB模式( ),计算出的 为6,但格式 仅分配5个字节每像素。这导致每行像素写入时发生确定性堆缓冲区溢出。 漏洞文件: ,第270和362行 漏洞函数: 影响范围 受影响版本: 严重程度:Critical (9.8 / 10) CVSS v3 基本指标: - 攻击向量:网络 - 攻击复杂度:低 - 所需权限:无 - 用户交互:无 - 范围:未改变 - 机密性:高 - 完整性:高 - 可用性:高 CVE ID:CVE-2025-40493 弱点:CWE-787 修复方案 建议修复:使用解析后的像素格式的每像素位数,而不是从原始头字段计算。 修复代码: 概念验证(POC) 构造PSD文件: - - - ASAN验证 确认:使用AddressSanitizer确认 错误信息: 影响 任何有效的PSD文件,使用 都会触发此漏洞。无需特殊构造,只需有效的头值。 确定性、无条件堆缓冲区溢出,可能导致任意代码执行。