-
Notifications
You must be signed in to change notification settings - Fork 17.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
net/http: invalid headers are normalized, allowing request smuggling #34540
Comments
@gopherbot Please open backport issues for this. This was a security problem. |
Backport issue(s) opened: #34541 (for 1.12), #34542 (for 1.13). Remember to create the cherry-pick CL(s) as soon as the patch is submitted to master, according to https://golang.org/wiki/MinorReleases. |
To fix security issues in Go, [CVE-2019-16276](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-16276), let's update dev-lang/go from 1.12.9 to 1.12.10, and add go 1.13.1. See also golang/go#34540
To fix security issues in Go, [CVE-2019-16276](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-16276), we should upgrade Go to 1.13.1. See also golang/go#34540
To get fix for golang/go#34540 .
Looks like this fix is not in master, only in the release branches, correct? |
At the moment, correct. I will land it in master today. |
Change https://golang.org/cl/197503 mentions this issue: |
👍 I just noticed it, looking for the commit it was cherry-picked/backported from (which was missing) |
Thanks for remediating this vulnerability so fast! We've got a couple of questions, mostly bookkeeping:
|
Just notified MITRE of the publication. We never assign the CVSS on our side. |
Fixes the following security vulnerabilities: - CVE-2019-16276: Go before 1.12.10 and 1.13.x before 1.13.1 allow HTTP Request Smuggling. golang/go#34540 >From the release notes: go1.12.10 (released 2019/09/25) includes security fixes to the net/http and net/textproto packages Signed-off-by: Peter Korsgaard <[email protected]>
Fixes the following security vulnerabilities: - CVE-2019-16276: Go before 1.12.10 and 1.13.x before 1.13.1 allow HTTP Request Smuggling. golang/go#34540 >From the release notes: go1.12.10 (released 2019/09/25) includes security fixes to the net/http and net/textproto packages Signed-off-by: Peter Korsgaard <[email protected]> (cherry picked from commit bd574c4) Signed-off-by: Peter Korsgaard <[email protected]>
Fixes the following security vulnerability: - CVE-2019-16276: Go before 1.12.10 and 1.13.x before 1.13.1 allow HTTP Request Smuggling. golang/go#34540 Upstream has not provided a go 1.11.x release with a fix for this, so instead include the Debian backport of the upstream security fix from: https://sources.debian.org/src/golang-1.11/1.11.6-1+deb10u2/debian/patches/0007-Fix-CVE-2019-16276.patch/ Signed-off-by: Peter Korsgaard <[email protected]>
Fixes the following security vulnerabilities: - CVE-2019-16276: Go before 1.12.10 and 1.13.x before 1.13.1 allow HTTP Request Smuggling. golang/go#34540 >From the release notes: go1.12.10 (released 2019/09/25) includes security fixes to the net/http and net/textproto packages Signed-off-by: Peter Korsgaard <[email protected]> (cherry picked from commit bd574c4) Signed-off-by: Peter Korsgaard <[email protected]>
One thing that's potentially worth noting, even after the fix, it's still difficult for handler code to identify the characteristics of a desync payload. There's enough information to reliably identify it's happening inside the |
Fixes the following security vulnerabilities: - CVE-2019-16276: Go before 1.12.10 and 1.13.x before 1.13.1 allow HTTP Request Smuggling. golang/go#34540 >From the release notes: go1.12.10 (released 2019/09/25) includes security fixes to the net/http and net/textproto packages Signed-off-by: Peter Korsgaard <[email protected]>
net/http (through net/textproto) used to accept and normalize invalid HTTP/1.1 headers with a space before the colon, in violation of RFC 7230. If a Go server is used behind a reverse proxy that accepts and forwards but doesn't normalize such invalid headers, the reverse proxy and the server can interpret the headers differently. This can lead to filter bypasses or request smuggling, the latter if requests from separate clients are multiplexed onto the same connection by the proxy. Such invalid headers are now rejected by Go servers, and passed without normalization to Go client applications.
This issue is CVE-2019-16276 and is fixed in Go 1.13.1 and Go 1.12.10.
The text was updated successfully, but these errors were encountered: