Skip to content
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: ReadRequest can stack overflow [1.16 backport] #45712

Closed
gopherbot opened this issue Apr 22, 2021 · 4 comments
Closed

net/http: ReadRequest can stack overflow [1.16 backport] #45712

gopherbot opened this issue Apr 22, 2021 · 4 comments

Comments

@gopherbot
Copy link

@gopherbot gopherbot commented Apr 22, 2021

@katiehockman requested issue #45710 to be considered for backport to the next 1.16 minor release.

@gopherbot please consider this for backport to 1.16.4 and 1.15.12, it's a security issue.

@dmitshur
Copy link
Contributor

@dmitshur dmitshur commented Apr 28, 2021

Approved as this is a security fix. This backport applies to both 1.16 (this issue) and 1.15 (#45711).

@dmitshur dmitshur changed the title http: ReadRequest can stack overflow [1.16 backport] net/http: ReadRequest can stack overflow [1.16 backport] Apr 28, 2021
@gopherbot
Copy link
Author

@gopherbot gopherbot commented Apr 28, 2021

Change https://golang.org/cl/314649 mentions this issue: [internal-branch.go1.16-vendor

gopherbot pushed a commit to golang/net that referenced this issue Apr 28, 2021
…aderValuesContainsToken

Previously, httpguts.HeaderValuesContainsToken called a
function which could recurse to the point of a stack
overflow when given a very large header (~10MB).

Credit to Guido Vranken who reported the crash as
part of the Ethereum 2.0 bounty program.

Fixes CVE-2021-31525

Updates golang/go#45710
Updates golang/go#45712

Change-Id: I2c54ce3b2acf1c5efdea66db0595b93a3f5ae5f3
Reviewed-on: https://go-review.googlesource.com/c/net/+/313069
Trust: Katie Hockman <katie@golang.org>
Run-TryBot: Katie Hockman <katie@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Filippo Valsorda <filippo@golang.org>
Reviewed-by: Roland Shoemaker <roland@golang.org>
(cherry picked from commit 89ef3d9)
Reviewed-on: https://go-review.googlesource.com/c/net/+/314649
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
@gopherbot
Copy link
Author

@gopherbot gopherbot commented Apr 28, 2021

Change https://golang.org/cl/314789 mentions this issue: [release-branch.go1.16] std: update golang.org/x/net to 20210428183300-3f4a416c7d3b

@gopherbot
Copy link
Author

@gopherbot gopherbot commented Apr 28, 2021

Closed by merging d4adea2 to release-branch.go1.16.

@gopherbot gopherbot closed this Apr 28, 2021
gopherbot pushed a commit that referenced this issue Apr 28, 2021
…0-3f4a416c7d3b

Steps:
  go get -d golang.org/x/net@internal-branch.go1.16-vendor
  go mod tidy
  go mod vendor

This http2 bundle does not need to be updated.

Fixes #45712

Change-Id: I7c86c31248e0cd250d17495c3f985671cfcf44a3
Reviewed-on: https://go-review.googlesource.com/c/go/+/314789
Trust: Katie Hockman <katie@golang.org>
Run-TryBot: Katie Hockman <katie@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
2 participants