低危 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 及以上版本"
参考链接 |
|
---|---|
https://github.com/aio-libs/aiohttp/commit/f016f0680e4ace6742b03a70cb0382ce86abe371 | |
https://github.com/aio-libs/aiohttp/security/advisories/GHSA-xx9p-xxvh-7g8j |
受影响软件情况
# | 类型 | 厂商 | 产品 | 版本 | 影响面 | ||||
1 | |||||||||
---|---|---|---|---|---|---|---|---|---|
运行在以下环境 | |||||||||
应用 | aiohttp | aiohttp | * | Up to (excluding) 3.8.0 | |||||
运行在以下环境 | |||||||||
系统 | debian_10 | python-aiohttp | * | Up to (including) 3.5.1-1+deb10u1 | |||||
运行在以下环境 | |||||||||
系统 | debian_11 | python-aiohttp | * | Up to (including) 3.7.4-1 | |||||
运行在以下环境 | |||||||||
系统 | debian_12 | python-aiohttp | * | Up to (excluding) 3.8.1-1 | |||||
运行在以下环境 | |||||||||
系统 | debian_sid | python-aiohttp | * | Up to (excluding) 3.8.1-1 | |||||
- 攻击路径 本地
- 攻击复杂度 困难
- 权限要求 管控权限
- 影响范围 有限影响
- EXP成熟度 未验证
- 补丁情况 官方补丁
- 数据保密性 无影响
- 数据完整性 无影响
- 服务器危害 无影响
- 全网数量 N/A
CWE-ID | 漏洞类型 |
Exp相关链接

版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
评论