关键信息 漏洞类型 堆使用后释放(Heap Use-After-Free) 影响的代码 函数中的 token 解析 → 转换 环境 操作系统: Ubuntu 22.04 编译器: clang 13.0.1 使用的 Sanitizer: AddressSanitizer (ASan) + UndefinedBehaviorSanitizer (UBSan) 构建指令 复现步骤 运行 fuzzer 并使用构造的输入文件: 观察到的行为 程序崩溃,ASan/UBSan 报告堆使用后释放错误。 根因分析 对一行进行 token 化(通过 ),然后将一个 token 转换为整数(通过 )。 在 token 化过程中,token 向量/字符串被清除/释放,但指向其缓冲区的指针/引用在 / 中仍然被使用,导致使用已释放的内存。 附件 文件包含概念验证。