Hartwork 博客·递归杀手:CVE-2024-8176 背后的故事

主要观点:介绍了 Expat 相关内容,包括新发布的 Expat 2.7.0 版本的情况、长期存在的漏洞(CVE-2024-8176)及其处理过程、寻求公司帮助、与公司合作的情况等。
关键信息

  • Expat 是快速的流式 XML 解析器,用 C 编写,跨平台,遵循 MIT 许可证,2.7.0 版本今日发布,包含多项改进和新内容。
  • 长期漏洞源于数千级的实体引用链导致递归栈溢出,Jann Horn 发现并提供修复思路,作者认为需完全移除剩余递归,此问题历经数月未修复。
  • 作者寻求公司帮助,向约 40 家使用 Expat 的公司发邮件,收到各种回复,后要求公司签署 NDA 以确保合作。
  • 最终找到 Siemens 和 Unnamed Company 等合作伙伴,共同努力约 10 个月,该漏洞有三种表现形式,Berkay Eren Ürün 等人完成修复,感谢各方贡献。
    重要细节
  • 新的模糊测试器xml_lpm_fuzzer基于 Clang 的libFuzzer和 Google 的libprotobuf-mutator
  • 提到的安全相关链接如 NVD 的漏洞详情、Google Project Zero 等。
  • 作者维护的公司使用 Expat 的公开列表等。
  • 三种漏洞表现形式的具体代码示例及相关攻击负载生成器。
阅读 9
0 条评论