CVE-2026-33033该漏洞存在于 Django 的 MultiPartParser 组件中。未经身份验证的远程攻击者可以通过发送特制的恶意 multipart/form-data 请求,利用 Content-Transfer-Encoding: base64 编码并填充大量空格,触发服务器在解析过程中的性能退化。这可能导致服务器资源耗尽,从而引发拒绝服务攻击。主要影响 Django 6.0、5.2 和 4.2 的特定旧版本。
该漏洞的核心在于 Django `MultiPartParser` 对 Base64 编码数据的处理机制。在解析 HTTP 请求时,如果字段包含 `Content-Transfer-Encoding: base64`,Django 会尝试对其进行解码。然而,解析器未能有效处理包含大量空格的 Base64 流。攻击者可以构造一个恶意的 HTTP POST 请求,其中 multipart 数据包含经过 Base64 编码但填充了大量空白字符的字段。当服务器尝试处理这些数据时,由于空格的验证和处理逻辑效率低下,会导致 CPU 使用率飙升或内存占用急剧增加。这种性能退化攻击利用了算法复杂度上的缺陷,使得攻击者能够以极小的网络带宽消耗,长期占用服务器资源,最终导致合法用户无法访问服务,形成拒绝服务状态。