GO-2022-0536

Source
https://pkg.go.dev/vuln/GO-2022-0536
Import Source
https://vuln.go.dev/ID/GO-2022-0536.json
Aliases
Published
2022-08-01T22:20:53Z
Modified
2024-05-20T16:03:47Z
Summary
Reset flood in net/http and golang.org/x/net/http
Details

Some HTTP/2 implementations are vulnerable to a reset flood, potentially leading to a denial of service.

Servers that accept direct connections from untrusted clients could be remotely made to allocate an unlimited amount of memory, until the program crashes. The attacker opens a number of streams and sends an invalid request over each stream that should solicit a stream of RSTSTREAM frames from the peer. Depending on how the peer queues the RSTSTREAM frames, this can consume excess memory, CPU, or both.

References

Affected packages

Go / stdlib

Package

Name
stdlib

Affected ranges

Type
SEMVER
Events
Introduced
0The exact introduced commit is unknown
Fixed
1.11.13
Introduced
1.12.0-0
Fixed
1.12.8

Ecosystem specific

{
    "imports": [
        {
            "path": "net/http",
            "symbols": [
                "http2serverConn.scheduleFrameWrite",
                "http2serverConn.serve",
                "http2serverConn.writeFrame"
            ]
        }
    ]
}

Go / golang.org/x/net

Package

Affected ranges

Type
SEMVER
Events
Introduced
0The exact introduced commit is unknown
Fixed
0.0.0-20190813141303-74dc4d7220e7

Ecosystem specific

{
    "imports": [
        {
            "path": "golang.org/x/net/http2",
            "symbols": [
                "Server.ServeConn",
                "serverConn.scheduleFrameWrite",
                "serverConn.serve",
                "serverConn.writeFrame"
            ]
        }
    ]
}