低危 aiohttp 中“Content-Length”与“Transfer-Encoding”的解释不一致 (CVE-2023-47641)

CVE编号

CVE-2023-47641

利用情况

暂无

补丁情况

官方补丁

披露时间

2023-11-15
漏洞描述
aiohttp是一个为asyncio和Python提供的异步HTTP客户端/服务器框架。受影响的aiohttp版本存在一个安全漏洞,涉及对http协议的解析不一致问题。HTTP/1.1是一种持续协议,如果同时存在Content-Length(CL)和Transfer-Encoding(TE)头部值,可能会导致对解析HTTP内容两个实体的错误解释,并且我们可以通过这种错误解释来破坏其他套接字。一个可能的漏洞证明(POC)是将接受CL和TE头部的反向代理(前端)和aiohttp作为后端的配置。由于aiohttp解析带有chunked的任何内容,我们可以将chunked123作为TE传递,前端实体将忽略此头部并解析Content-Length。此漏洞的影响是可能绕过任何代理规则,将套接字破坏给其他用户,例如传递身份验证头部,此外,如果存在Open Redirect,攻击者可以将其与重定向随机用户到另一个网站并记录请求。此漏洞已在aiohttp的3.8.0版本中得到修复。建议用户升级。此漏洞没有已知的解决方法。
解决建议
"将组件 aiohttp 升级至 3.8.0 及以上版本"
受影响软件情况
# 类型 厂商 产品 版本 影响面
1
运行在以下环境
应用 aiohttp aiohttp * Up to
(excluding)
3.8.0
运行在以下环境
系统 debian_12 python-aiohttp * Up to
(excluding)
3.8.1-1
运行在以下环境
系统 opensuse_Leap_15.4 python3-aiohttp * Up to
(excluding)
3.6.0-150100.3.12.1
运行在以下环境
系统 opensuse_Leap_15.5 python3-aiohttp * Up to
(excluding)
3.6.0-150100.3.12.1
阿里云评分
3.4
  • 攻击路径
    本地
  • 攻击复杂度
    困难
  • 权限要求
    管控权限
  • 影响范围
    有限影响
  • EXP成熟度
    未验证
  • 补丁情况
    官方补丁
  • 数据保密性
    无影响
  • 数据完整性
    无影响
  • 服务器危害
    无影响
  • 全网数量
    N/A
CWE-ID 漏洞类型
阿里云安全产品覆盖情况