关键信息 漏洞概述 软件: GNU Bison 漏洞类型: 断言失败导致拒绝服务 描述 该报告记录了GNU Bison obprintf.c断言失败漏洞的一个变体。此变体展示了触发相同断言失败的不同输入条件,确认了缓冲区管理问题在Bison的obstack实现中的广泛性质。 技术分析 堆栈跟踪: 提供了详细的堆栈跟踪信息,显示了断言失败的具体位置和调用链。 变体分析: 此变体具有与主要obprintf漏洞相同的特征: - 相同的断言失败位置: obprintf.c:138 in __obstack_vprintf_internal - 相同的调用链: handle_action_dollar -> obstack_printf_chk -> 断言失败 根因确认 系统性问题: 缓冲区管理问题不依赖于特定的输入模式。 多个触发路径: 各种语法结构可以暴露漏洞。 广泛影响: 漏洞影响不同类型的语法文件。 概念验证 (PoC) 文件: 提供了一个PoC文件链接。 重现步骤: 1. 执行Bison编译PoC文件。 2. 观察与主要漏洞相同的断言失败。 3. 验证相同的SIGABRT信号生成。 预期输出: 显示断言失败和核心转储。 触发机制 尽管不同的语法结构,漏洞通过相同的机制触发: 1. 语法解析到达动作代码处理。 2. handle_action_dollar函数处理$变量引用。 3. obstack状态在打印格式化期间变得不一致。 4. 断言失败发生在obprintf.c:138。 致谢 Xudong Cao (UCAS) Yuqing Zhang (UCAS, Zhongguancun Laboratory) CVE关联 CVE-2025-8733 与此漏洞相关联。