关键信息总结 漏洞概述 漏洞类型: 空指针解引用漏洞 (Null Pointer Dereference) 受影响程序: jasper (图像处理库) 崩溃类型: SIGSEGV (信号11) 版本: jasper 2.0.25 根本原因: 在 函数中,当处理带有特定命令行选项的恶意格式化图像文件时,函数接收到一个空图像指针并尝试对其进行解引用,导致立即分段错误。 技术分析 AddressSanitizer报告: 显示了在无效地址处进行写操作的具体细节。 GDB堆栈跟踪参考: 提供了程序崩溃时的调用堆栈信息。 漏洞机制: - 关键问题: 为 NULL 指针。 - 根因分析: 1. 图像加载失败: 恶意输入文件导致图像加载失败,返回 NULL。 2. 缺失验证: 主函数未在传递给颜色空间转换函数之前对图像指针进行解引用检查。 3. 空指针访问: 函数尝试访问 字段而未进行空检查。 4. 崩溃触发: 访问 引发异常。 可重现代码上下文 显示了易受攻击的代码片段,其中 为 NULL 时尝试访问其成员变量。 再现步骤 包含了命令行测试和预期行为描述,说明如何触发漏洞。 与断言失败漏洞的区别 详细列出了与另一份报告中的断言失败漏洞的关键差异,包括信号、位置、函数、根本原因和触发选项的不同。 概念验证 提供了一个概念验证 (PoC) 文件,用于演示漏洞。 致谢 列出了发现和报告此漏洞的研究人员名单。