CVE-2024-3884: Undertow 应用/x-www-form-urlencoded编码解析表单数据时的内存耗尽问题
在解析使用 application/x-www-form-urlencoded 编码的大表单数据时,Undertow 存在一个缺陷,可导致远程拒绝服务攻击。当服务器使用 FormEncodedDataDefinition.doParse(StreamSourceChannel) 方法解析此类编码的大型表单数据时,该方法会引发内存耗尽 (OutOfMemory) 问题。此漏洞允许未经授权的用户发起远程拒绝服务攻击。
漏洞详情
- 漏洞编号: CVE-2024-3884
- 严重性: 高危
- CVSS 评分: 7.5 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H)
- 影响组件: io.undertow:undertow-core (Maven)
影响版本
- 受影响版本: < 2.3.21.Final 以及 2.4.0.Alpha1
- 已修复版本: 2.3.21.Final
漏洞描述
当 Undertow 服务器处理 Content-Type 为 application/x-www-form-urlencoded 的请求,并调用 FormEncodedDataDefinition.doParse 方法对大量数据进行解析时,由于对输入数据的处理不当,导致服务器内存被过度消耗,最终触发 OutOfMemoryError,造成服务不可用。
漏洞利用
攻击者无需任何权限,只需向目标服务器发送精心构造的、包含巨大负载的 application/x-www-form-urlencoded 数据包,即可触发此漏洞,导致服务器资源耗尽,无法响应正常请求。
解决方案
请立即将 io.undertow:undertow-core 升级至 2.3.21.Final 或更高版本,以修复此安全漏洞。
参考资料
- NVD 详情
- Red Hat 安全公告
- Red Hat Bugzilla
- Undertow 官方发布版本 2.3.21.Final
- 相关 Pull Request glyoVzOLZA9nMhz/bDHDAWzfRfZ0dSZtQUalpUyOmxeZ1D4sRxEU+MwL6CTNxqepn249eCczW2LGLI8pSLCKyA==