Undertow 高危漏洞:解析表单数据可致远程拒绝服务(OOM)

2 阅读1分钟

Undertow 高危漏洞:解析表单数据可致远程拒绝服务(OOM)

GitHub 安全实验室披露了影响 JBoss Undertow 核心组件的一个高危漏洞(CVE-2024-3884)。该漏洞允许未经授权的远程攻击者通过发送特制的表单数据,使服务器内存耗尽,最终导致拒绝服务。

漏洞描述

在 Undertow 服务器中,当使用 FormEncodedDataDefinition.doParse(StreamSourceChannel) 方法解析以 application/x-www-form-urlencoded 编码的超大表单数据时,方法内部处理不当会引发 OutOfMemory(内存溢出)错误。

攻击者无需任何权限,只需向目标服务器构造并发送恶意负载,即可触发此漏洞,造成远程拒绝服务(DoS)。

影响范围

  • 受影响版本:
    • 所有低于 2.3.21.Final 的版本
    • 版本 2.4.0.Alpha1
  • 安全版本:
    • 2.3.21.Final

技术细节

该漏洞的根本原因在于对用户输入的表单数据缺乏有效的大小限制和验证机制(对应 CWE-20: 输入验证不恰当)。当解析超大的 x-www-form-urlencoded 数据时,程序可能会尝试分配超出可用内存的资源,从而导致 JVM 抛出 OutOfMemoryError,使服务不可用。

解决方案

建议所有受影响版本的用户立即升级至 2.3.21.Final 或更高版本,以修复此安全缺陷。各 Linux 发行版及相关中间件厂商也已同步发布安全公告和更新包。

参考资料