id: GO-2023-2102
modules:
    - module: std
      versions:
        - fixed: 1.20.10
        - introduced: 1.21.0-0
          fixed: 1.21.3
      vulnerable_at: 1.21.2
      packages:
        - package: net/http
          symbols:
            - http2serverConn.serve
            - http2serverConn.processHeaders
            - http2serverConn.upgradeRequest
            - http2serverConn.runHandler
          derived_symbols:
            - ListenAndServe
            - ListenAndServeTLS
            - Serve
            - ServeTLS
            - Server.ListenAndServe
            - Server.ListenAndServeTLS
            - Server.Serve
            - Server.ServeTLS
            - http2Server.ServeConn
    - module: golang.org/x/net
      versions:
        - fixed: 0.17.0
      vulnerable_at: 0.16.0
      packages:
        - package: golang.org/x/net/http2
          symbols:
            - serverConn.serve
            - serverConn.processHeaders
            - serverConn.upgradeRequest
            - serverConn.runHandler
          derived_symbols:
            - Server.ServeConn
summary: HTTP/2 rapid reset can cause excessive work in net/http
description: |-
    A malicious HTTP/2 client which rapidly creates requests and immediately resets
    them can cause excessive server resource consumption. While the total number of
    requests is bounded by the http2.Server.MaxConcurrentStreams setting, resetting
    an in-progress request allows the attacker to create a new request while the
    existing one is still executing.

    With the fix applied, HTTP/2 servers now bound the number of simultaneously
    executing handler goroutines to the stream concurrency limit
    (MaxConcurrentStreams). New requests arriving when at the limit (which can only
    happen after the client has reset an existing, in-flight request) will be queued
    until a handler exits. If the request queue grows too large, the server will
    terminate the connection.

    This issue is also fixed in golang.org/x/net/http2 for users manually
    configuring HTTP/2.

    The default stream concurrency limit is 250 streams (requests) per HTTP/2
    connection. This value may be adjusted using the golang.org/x/net/http2 package;
    see the Server.MaxConcurrentStreams setting and the ConfigureServer function.
ghsas:
    - GHSA-4374-p667-p6c8
related:
    - CVE-2023-44487
references:
    - report: https://go.dev/issue/63417
    - fix: https://go.dev/cl/534215
    - fix: https://go.dev/cl/534235
    - web: https://groups.google.com/g/golang-announce/c/iNNxDTCjZvo/m/UDd7VKQuAAAJ
cve_metadata:
    id: CVE-2023-39325
    cwe: 'CWE-400: Uncontrolled Resource Consumption'
    references:
        - https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/KSEGD2IWKNUO3DWY4KQGUQM5BISRWHQE/
        - https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/CLB4TW7KALB3EEQWNWCN7OUIWWVWWCG2/
        - https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/XFOIBB4YFICHDM7IBOP7PWXW3FX4HLL2/
