parsing - 我在哪里可以获得 GNU Bison 3.5.4+ 的 Windows 可执行文件?
问题描述
在 3.5.4 之前的版本中发现了 bison 中的CVE 。
3.5.4 之前的 GNU Bison 允许攻击者造成拒绝服务(应用程序崩溃)。
是否有适用于 Windows 的 3.5.4+ 可执行文件?
或者,如何使用源代码使 Windows 可执行?
解决方案
截至今天,有两个关于 Bison 的 CVE,它们都只是关于 bison 本身(生成器),而不是关于生成的解析器。所以(典型的)用户不应该担心这些 CVE。
我已经写信给 MITRE,他们同意澄清 CVE以避免混淆。他们现在的内容如下:
3.5.4 之前的 GNU Bison 允许攻击者造成拒绝服务(应用程序崩溃)。注意:只有当 Bison 与不受信任的输入一起使用时才会存在风险,并且观察到的错误恰好会导致特定编译器/架构的不安全行为。错误报告旨在表明 Bison 本身可能发生崩溃,而不是 Bison 生成的代码中可能发生崩溃。
当遇到 '\0' 字节时,3.7.1 之前的 GNU Bison 在 lib/obstack.c(从 gram_lex 调用)的 _obstack_free 中有一个 use-after-free。注意:只有当 Bison 与不受信任的输入一起使用时才会存在风险,并且观察到的错误恰好会导致特定编译器/架构的不安全行为。该错误报告旨在表明 Bison 本身可能发生崩溃,而不是 Bison 生成的代码中可能发生崩溃。
感谢@rici 在这方面的帮助。
推荐阅读
- swift - 导航。控制器防止 Segue 过渡动画
- javascript - 如何做到这一点,以便我可以为提到的用户提供服务
- java - Spring Cloud GCP PubSub DLQ(死信队列)使用 Spring Integration
- laravel - Laravel 样板和引导程序
- angular - 角度动态组件 - 复选框在有条件的行中显示
- php - 如何在 PHP 中转储函数、参数和返回值?
- python - 如何从 AWS Lambda python 响应中解析出值?
- python - Python - 检查所有列表中是否存在任何项目
- javascript - Vue中跳转到新页面后无法监听visibilitychange,如何解决?
- python - 我们如何 conda 安装包已成功下载,忽略下载失败的包?