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。
?