首页 > 解决方案 > 我在哪里可以获得 GNU Bison 3.5.4+ 的 Windows 可执行文件?

问题描述

在 3.5.4 之前的版本中发现了 bison 中的CVE 。

3.5.4 之前的 GNU Bison 允许攻击者造成拒绝服务(应用程序崩溃)。

是否有适用于 Windows 的 3.5.4+ 可执行文件?

或者,如何使用源代码使 Windows 可执行?

标签: parsinggnubisonflex-lexeryacc

解决方案


截至今天,有两个关于 Bison 的 CVE,它们都只是关于 bison 本身(生成器),而不是关于生成的解析器。所以(典型的)用户不应该担心这些 CVE。

我已经写信给 MITRE,他们同意澄清 CVE以避免混淆。他们现在的内容如下:

CVE-2020-14150

3.5.4 之前的 GNU Bison 允许攻击者造成拒绝服务(应用程序崩溃)。注意:只有当 Bison 与不受信任的输入一起使用时才会存在风险,并且观察到的错误恰好会导致特定编译器/架构的不安全行为。错误报告旨在表明 Bison 本身可能发生崩溃,而不是 Bison 生成的代码中可能发生崩溃。

CVE-2020-24240

当遇到 '\0' 字节时,3.7.1 之前的 GNU Bison 在 lib/obstack.c(从 gram_lex 调用)的 _obstack_free 中有一个 use-after-free。注意:只有当 Bison 与不受信任的输入一起使用时才会存在风险,并且观察到的错误恰好会导致特定编译器/架构的不安全行为。该错误报告旨在表明 Bison 本身可能发生崩溃,而不是 Bison 生成的代码中可能发生崩溃。

感谢@rici 在这方面的帮助。


推荐阅读