新版本新增了「--retry-all-errors」選項,以便在發生任何錯誤時重試操作,並修復了兩個漏洞:
-
脆弱性 CVE-2020,8177 允許您在存取攻擊者控制的伺服器時覆蓋系統中的本機檔案。 只有同時使用“-J”(“-remote-header-name”)和“-i”(“-head”)選項時才會出現此問題。 “-J”選項可讓您使用標題中指定的名稱儲存文件
「內容處置」。 如果同名檔案已經存在,curl程式通常會拒絕執行覆蓋,但如果存在“-i”選項,則檢查邏輯被破壞,檔案被覆蓋(檢查是在階段進行的)接收回應正文,但使用“-i”選項時,首先顯示HTTP 標頭,並在開始處理回應正文之前有時間儲存)。 只有 HTTP 標頭被寫入文件,但伺服器可以發送任意資料而不是標頭,並且它們將被寫入。 -
脆弱性 CVE-2020,8169 可能會導致某些網站存取密碼(Basic、Digest、NTLM 等)洩漏到 DNS 伺服器。 透過在密碼中使用「@」符號,該符號也用作 URL 中的密碼分隔符,當觸發 HTTP 重定向時,curl 會將「@」符號後面的密碼部分與網域一起發送以進行解析名字。 例如,如果您提供密碼“passw@rd123”和使用者名稱“dan”,curl 將產生 URL“https://dan:passw@[電子郵件保護]/path」而不是「https://dan:passw%[電子郵件保護]/path”並將發送請求來解析主機”[電子郵件保護]”而不是“example.com”。當啟用相對 HTTP 重定向器的支援(透過 CURLOPT_FOLLOWLOCATION 停用)時,就會出現此問題。 如果使用傳統 DNS,則 DNS 提供者和能夠攔截傳輸網路流量的攻擊者可以獲得有關部分密碼的資訊(即使原始請求是透過 HTTPS 進行的,因為 DNS 流量未加密)。 當使用 DNS-over-HTTPS (DoH) 時,洩漏僅限於 DoH 業者。
來源: opennet.ru