Go Team
发布了 Go 1.15.1
和 Go 1.14.8
,以解决最近报告的安全问题。建议所有受影响的用户更新到以下版本之一(如果不确定哪个版本,请选择 Go 1.15.1)。
如果处理程序未明确设置 Content-Type
响应头,则 net/http/cgi
和 net/http/fcgi
包将默认设置为 "text/html",如果攻击者可以控制响应的内容,则可能会导致跨站点脚本漏洞。
现在修改改为根据第一次 Write 的内容通过 http.DetectContentType
来设置Content-Type
响应头,这与 net/http
包的行为一致。
尽管这可以保护某些验证上传文件内容的应用程序,但未在攻击者控制的任何文件上明确设置 Content-Type
响应头是不安全的,应避免出现。也就是说,你应该总是明确设置 Content-Type
响应头。
RedTeam Pentesting GmbH 报告此问题。此问题为CVE-2020-24553,相应的 issue 见:github.com/golang/go/issues/40928