关键信息总结 漏洞类型 Stack buffer overflow in ParseScript due to fixed-size error buffer. 环境 OS: Ubuntu 22.04 Compiler: clang 13.0.1 C++ Standard: C++17 Sanitizers: AddressSanitizer (ASan) + UndefinedBehaviorSanitizer (UBSan) 构建指令 复现步骤 运行fuzzer并使用构造的输入文件: 观察到的行为 程序崩溃,ASan/UBSan报告: 根因分析 在解析脚本时,ParseScript函数在栈上分配了一个固定大小的缓冲区。 可以生成任意长的诊断消息。如果错误输出超过2048字节,它将溢出堆栈缓冲区,导致栈缓冲区溢出。 解决方案 使用动态增长的错误缓冲区修复此问题。 相关PR:#1007