Python URL 解析函数中的一个高严重性安全漏洞已被披露,该漏洞可绕过 blocklist 实现的域或协议过滤方法,导致任意文件读取和命令执行。
CERT 协调中心(CERT/CC)在周五的一份公告中说:当整个 URL 都以空白字符开头时,urlparse 就会出现解析问题。"这个问题会影响主机名和方案的解析,最终导致任何拦截列表方法失效"。
该漏洞为 CVE-2023-24329,CVSS 得分为 7.5。安全研究员 Yebo Cao 于 2022 年 8 月发现并报告了该漏洞。该漏洞已在以下版本中得到解决:
- >= 3.12
- 3.11.x >= 3.11.4
- 3.10.x >= 3.10.12
- 3.9.x >= 3.9.17
- 3.8.x >= 3.8.17
- 3.7.x >= 3.7.17
urllib.parse 是一个广泛使用的解析函数,可将 URL 分解为各个组成部分,或将各个组成部分合并为一个 URL 字符串。
CVE-2023-24329 的出现是由于缺乏输入验证,从而导致有可能通过提供以空白字符开头的 URL(例如 " https://youtube[.]com")来绕过 blocklisting 。
该漏洞可以帮助攻击者绕过主机设置的保护措施,同时在多种场景下助力 SSRF 和 RCE。
参考链接:https://thehackernews.com/2023/08/new-python-url-parsing-flaw-enables.html