{"schema_version":"1.7.3","id":"GO-2022-0236","published":"2022-07-15T23:04:18Z","modified":"2026-02-04T02:54:01.110291Z","aliases":["BIT-golang-2021-31525","CVE-2021-31525","GHSA-h86h-8ppg-mxmh"],"related":["CGA-gp75-g599-6fr2"],"summary":"Panic due to large headers in net/http and golang.org/x/net/http/httpguts","details":"A malicious HTTP server or client can cause the net/http client or server to panic.\n\nReadRequest and ReadResponse can hit an unrecoverable panic when reading a very large header (over 7MB on 64-bit architectures, or over 4MB on 32-bit ones). Transport and Client are vulnerable and the program can be made to crash by a malicious server. Server is not vulnerable by default, but can be if the default max header of 1MB is overridden by setting Server.MaxHeaderBytes to a higher value, in which case the program can be made to crash by a malicious client.\n\nThis also affects golang.org/x/net/http2/h2c and HeaderValuesContainsToken in golang.org/x/net/http/httpguts.","affected":[{"package":{"name":"stdlib","ecosystem":"Go","purl":"pkg:golang/stdlib"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"1.15.12"},{"introduced":"1.16.0-0"},{"fixed":"1.16.4"}]}],"ecosystem_specific":{"imports":[{"path":"net/http","symbols":["http2clientStream.writeRequest","http2isConnectionCloseRequest","isProtocolSwitchHeader","shouldClose"]}]},"database_specific":{"source":"https://vuln.go.dev/ID/GO-2022-0236.json"}},{"package":{"name":"golang.org/x/net","ecosystem":"Go","purl":"pkg:golang/golang.org/x/net"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"0.0.0-20210428140749-89ef3d95e781"}]}],"ecosystem_specific":{"imports":[{"path":"golang.org/x/net/http/httpguts","symbols":["HeaderValuesContainsToken","headerValueContainsToken"]}]},"database_specific":{"source":"https://vuln.go.dev/ID/GO-2022-0236.json"}}],"references":[{"type":"FIX","url":"https://go.dev/cl/313069"},{"type":"FIX","url":"https://go.googlesource.com/net/+/89ef3d95e781148a0951956029c92a211477f7f9"},{"type":"REPORT","url":"https://go.dev/issue/45710"},{"type":"WEB","url":"https://groups.google.com/g/golang-announce/c/cu9SP4eSXMc"}],"database_specific":{"review_status":"REVIEWED","url":"https://pkg.go.dev/vuln/GO-2022-0236"},"credits":[{"name":"Guido Vranken"}]}