CVE-2026-34517aiohttp是一个用于asyncio和Python的异步HTTP客户端/服务器框架。在3.13.4版本之前,当处理某些多部分表单字段时,aiohttp在检查client_max_size配置之前,会将整个字段内容读入内存。这种设计缺陷允许攻击者通过发送特制的大文件请求,导致服务器内存耗尽,从而引发拒绝服务攻击。该问题已在3.13.4版本中得到修复,建议受影响的用户尽快升级。
该漏洞的根源在于aiohttp处理多部分表单数据时的逻辑缺陷。在处理multipart/form-data请求时,服务器理应实时监控数据大小以防止资源耗尽。然而,在受影响版本中,aiohttp的实现逻辑存在先后顺序错误:它会先将完整的表单字段数据加载到内存缓冲区中,完成读取操作后,才会去检查该字段的大小是否超过了client_max_size的设定阈值。攻击者可以利用这一逻辑漏洞,构造一个包含超大字段的恶意HTTP POST请求。由于大小检查发生在数据完全读入内存之后,服务器会在检测到限制违规之前被迫分配大量内存资源。如果攻击者并发发送多个此类请求,或发送单个极大的请求,可迅速耗尽服务器的可用内存,导致系统OOM(Out of Memory)、服务进程崩溃或无法响应正常请求,从而实现拒绝服务攻击。此漏洞利用无需用户交互或身份认证,网络攻击复杂度低。