关键漏洞信息 1. 概述 项目/产品: GPAC 受影响组件: PCM reframer filter rfpcm ( ) 漏洞类别: 堆栈溢出(通过未经检查的 的边界写入) 触发条件: 处理包含大量通道数的恶意构造的 文件,当反向播放启用时, 影响: 至少导致服务拒绝(崩溃)。由于这是堆栈越界写入,内存损坏可能被利用,具体依赖于编译标志和堆栈布局(此处未演示)。 攻击向量: 在支持反向播放或以负播放速度运行的 GPAC 基础应用中,受害者打开/播放一个构造的 文件。 2. 影响版本 已确认漏洞版本(代码审计): GPAC 2.4.0 潜在影响版本: 其他包含相同 反向交换逻辑的版本。 3. 根因 3.1 位置 文件: 函数: 代码区域: 反向播放样本交换循环 3.2 根因细节(用于可变尺寸样本的固定尺寸堆栈缓冲区) 当 启用时, 将样本原地反转: - 计算 。 - 使用固定大小的堆栈缓冲区 作为交换临时缓冲区。 - 不检查是否小于 ,直接将 字节复制到 中。 由于通道数量 和 (从 WAV 位深度派生的每样本字节数)受 WAV 头部控制,当 和 时, ,导致堆栈缓冲区溢出。 当 在 中时,启用反向播放。 4. 概念验证 (PoC) 和复现 4.1 PoC 生成器 附件: 生成了 ,包含: - - - 4.2 生成 PoC 4.3 复现命令(推荐) 5. 影响评估 最小影响: 当反向播放请求在构造的 文件上时,发生崩溃 (DoS)。 安全风险: 堆栈越界写入(内存损坏)。利用性依赖于构建和环境,此处未演示。 6. 建议修复 替换 以使用大小为 的缓冲区(堆或动态大小的堆栈缓冲区),或者在复制前至少使用 进行边界检查。 7. 附件 : 漏洞 代码 : 可运行的 PoC 生成器