【发布时间】:2020-07-23 07:02:22
【问题描述】:
在 3.5.4 之前的版本中发现了 bison 中的 CVE。
3.5.4 之前的 GNU Bison 允许攻击者造成拒绝服务 (应用程序崩溃)。
是否有适用于 Windows 的 3.5.4+ 可执行文件?
另外,如何使用source code 使windows 可执行?
【问题讨论】:
-
我真的没有收到那个漏洞通知。 Bison 有一个错误,导致它在某些错误输入时崩溃。 GCC 也有这样的错误。 AFAIK,没有人说过 GCC 中的那些错误是 DoS 漏洞,因为您不允许攻击者在您的机器上运行构建工具。 (如果他们能做到这一点,他们就已经利用了漏洞。)如果构建工具崩溃,那就是一个错误。仅此而已,也没有什么可太激动的了。只是我的 2 美分。
-
据我了解,该漏洞被引入使用 Bison 编译的二进制文件中。这可能吗?
-
没有。只有在运行 Bison 时才会出现问题。 (如果它确实影响了 Bison 生成的程序,那么升级 Bison 也无济于事。您的硬盘驱动器中充满了 Bison 生成的程序;更改 Bison 不会改变任何事情。您甚至不需要安装 Bison 来运行这些程序程序。)
-
Anubhav:你用 boson 构建的解析器是安全的。 (除非您自己的代码中存在错误。)构建解析器也是安全的,因为您不会试图利用自己。可能发生的最坏情况是,bison 可能会崩溃而不是构建解析器,但这种情况极不可能发生,即使发生这种情况,所发生的只是 0rogram 在您的一台开发机器上崩溃。
-
无论如何,如果您的程序员不知道如何从源代码构建野牛,您可以在 linux/unix 机器上运行 bison 9n。将生成完全相同的 C(或 C++)代码。在解析器生成中没有任何平台依赖。
标签: parsing gnu bison flex-lexer yacc