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
Labels
CherryPickApproved Used during the release process for point releases FrozenDueToAge Security
Milestone

Comments

@gopherbot
Copy link

@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.

@gopherbot gopherbot added the CherryPickCandidate Used during the release process for point releases label Apr 22, 2021
@gopherbot gopherbot added this to the Go1.16.4 milestone Apr 22, 2021
@dmitshur
Copy link
Contributor

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

@dmitshur dmitshur added CherryPickApproved Used during the release process for point releases Security and removed CherryPickCandidate Used during the release process for point releases labels Apr 28, 2021
@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

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

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

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

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>
@golang golang locked and limited conversation to collaborators Apr 28, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
CherryPickApproved Used during the release process for point releases FrozenDueToAge Security
Projects
None yet
Development

No branches or pull requests

2 participants