计算机紧急响应小组 (CERT) 协调中心 (CERT/CC) 发布了一份漏洞通告,警告 libexpat XML 解析库中存在一个堆栈溢出漏洞,编号为 CVE-2024-8176。该漏洞的 CVSS 评分为 7.5,攻击者可以利用该漏洞导致应用程序崩溃或潜在地触发内存损坏——具体取决于该库在受影响环境中的部署方式。
libexpat 是一个用 C 语言编写的开源、面向流的 XML 解析器。它广泛应用于各种软件生态系统,尤其是在需要高效处理大型 XML 文件的系统中。
libexpat 被各种不同的软件和公司广泛使用。由于 libexpat 广泛应用于各种平台(从嵌入式系统到大型企业软件),因此其漏洞可能造成深远影响。
该漏洞的根源在于 libexpat 处理递归实体扩展的方式。当解析特制的 XML 文件时,攻击者可以深度嵌套实体引用,从而引发无限制递归,最终导致堆栈溢出。
CERT/CC解释说:“存在堆栈溢出漏洞……在解析具有深度嵌套实体引用的 XML 文档时,libexpat 可能会被迫无限递归。 ”
这种无限制递归会导致拒绝服务 (DoS) 情况,并且在特定条件下可能导致可利用的内存损坏,从而为更严重的攻击打开大门。
任何使用未修补版本的 libexpat 解析 XML 的软件都存在漏洞。攻击者无需提升权限,只需使用 libexpat 向系统输入恶意 XML 文件即可。
CERT/CC 警告说:“攻击者……可以向程序提供 XML 文档并引发 DoS 攻击或内存损坏攻击。 ”
libexpat 广泛集成到众多开源和商业项目中,使得供应链风险成为一个主要问题。
libexpat 2.7.0版本中已提供该漏洞的修复程序。强烈建议开发人员和维护人员立即更新,并使用官方GitHub问题中提供的概念验证 (PoC) 有效载荷来验证保护措施。
该漏洞由 Google Project Zero 的 Jann Horn 负责任地披露。
发表评论
您还未登录,请先登录。
登录