关键信息总结 漏洞概述 漏洞类型: 释放后使用 (Use-After-Free) 受影响函数: 源文件: 行号: 26522 信号: SIGABRT [100] 漏洞机制和根本原因 描述: 在处理特定的Layer-2协议长度计算时, 函数尝试访问已释放的内存,导致释放后使用错误。 触发条件: 当程序在DST(Data Link Type)处理过程中解析不同的执行路径时,通过检查未分配的可写性来区分它们。 AddressSanitizer报告 详细堆栈跟踪: 提供了详细的堆栈跟踪信息,显示了从调用 到最终触发释放后使用错误的整个过程。 概念验证 (PoC) PoC文件: 步骤: 1. 使用AddressSanitizer编译tcpdump。 2. 执行 。 3. 程序将在 函数中崩溃,显示堆释放后使用错误。 影响版本 tcpdump版本: 最新master分支 其他信息 无法复现版本: v4.5.2-beta3 贡献者: - Zhuohui Li (Zhongguancun Laboratory) - Xiaodong Cao (UCAS) - Yaqing Zhang (UCAS, Zhongguancun Laboratory)