Go Team
發(fā)布了 Go 1.15.1
和 Go 1.14.8
,以解決最近報告的安全問題。建議所有受影響的用戶更新到以下版本之一(如果不確定哪個版本,請選擇 Go 1.15.1)。
如果處理程序未明確設置 Content-Type
響應頭,則 net/http/cgi
和 net/http/fcgi
包將默認設置為 "text/html",如果攻擊者可以控制響應的內容,則可能會導致跨站點腳本漏洞。
現(xiàn)在修改改為根據第一次 Write 的內容通過 http.DetectContentType
來設置Content-Type
響應頭,這與 net/http
包的行為一致。
盡管這可以保護某些驗證上傳文件內容的應用程序,但未在攻擊者控制的任何文件上明確設置 Content-Type
響應頭是不安全的,應避免出現(xiàn)。也就是說,你應該總是明確設置 Content-Type
響應頭。
RedTeam Pentesting GmbH 報告此問題。此問題為CVE-2020-24553,相應的 issue 見:github.com/golang/go/issues/40928