CVE-2026-34829Rack是一个模块化Ruby Web服务器接口。在2.2.23、3.1.21和3.2.6版本之前,Rack::Multipart::Parser仅在存在CONTENT_LENGTH时才将请求体包装在BoundedIO。当使用HTTP分块传输编码且不带Content-Length头发送multipart请求时,解析将持续到流结束且无总大小限制。攻击者可利用此漏洞上传任意大文件,消耗无限制磁盘空间,导致Rack应用拒绝服务。
该漏洞主要影响Rack库的Multipart解析组件。在受影响版本中,Rack::Multipart::Parser仅当请求头中包含CONTENT_LENGTH时,才会将请求体包装在BoundedIO对象中以实施大小限制。如果攻击者发送使用HTTP分块传输编码且不包含Content-Length头的请求,解析器将无法确定上传数据的总大小,从而不再限制数据量。在此过程中,上传的文件内容会被直接流式写入磁盘的临时文件,不再受限于内存缓冲区的大小。这使得未经身份验证的远程攻击者能够通过发送特制的恶意请求,向服务器持续传输数据,消耗无限的磁盘空间,最终导致服务器因磁盘空间耗尽而崩溃或拒绝服务。根据CVSS v3.1评分,该漏洞评分为7.5分,属于高危漏洞,攻击复杂度低,无需用户交互即可利用。