blob: 192e5494cd92182c0fb2ae275a2b8230055dc289 [file] [log] [blame]
modules:
- module: std
versions:
- fixed: 1.14.8
- introduced: 1.15.0
fixed: 1.15.1
packages:
- package: net/http/cgi
symbols:
- response.Write
- response.WriteHeader
- response.writeCGIHeader
- package: net/http/fcgi
symbols:
- response.Write
- response.WriteHeader
- response.writeCGIHeader
description: |
When a Handler does not explicitly set the Content-Type header, the the
package would default to “text/html”, which could cause a Cross-Site Scripting
vulnerability if an attacker can control any part of the contents of a
response.
The Content-Type header is now set based on the contents of the first Write
using http.DetectContentType, which is consistent with the behavior of the
net/http package.
Although this protects some applications that validate the contents of
uploaded files, not setting the Content-Type header explicitly on any
attacker-controlled file is unsafe and should be avoided.
published: 2022-01-13T03:44:58Z
cves:
- CVE-2020-24553
credit: RedTeam Pentesting GmbH
references:
- fix: https://go.dev/cl/252179
- fix: https://go.googlesource.com/go/+/4f5cd0c0331943c7ec72df3b827d972584f77833
- web: https://groups.google.com/g/golang-announce/c/8wqlSbkLdPs
- report: https://go.dev/issue/40928