{
    "data_version": "4.0",
    "data_type": "CVE",
    "data_format": "MITRE",
    "CVE_data_meta": {
        "ID": "CVE-2023-45288",
        "ASSIGNER": "security@golang.org",
        "STATE": "PUBLIC"
    },
    "description": {
        "description_data": [
            {
                "lang": "eng",
                "value": "An attacker may cause an HTTP/2 endpoint to read arbitrary amounts of header data by sending an excessive number of CONTINUATION frames. Maintaining HPACK state requires parsing and processing all HEADERS and CONTINUATION frames on a connection. When a request's headers exceed MaxHeaderBytes, no memory is allocated to store the excess headers, but they are still parsed. This permits an attacker to cause an HTTP/2 endpoint to read arbitrary amounts of header data, all associated with a request which is going to be rejected. These headers can include Huffman-encoded data which is significantly more expensive for the receiver to decode than for an attacker to send. The fix sets a limit on the amount of excess header frames we will process before closing a connection."
            }
        ]
    },
    "problemtype": {
        "problemtype_data": [
            {
                "description": [
                    {
                        "lang": "eng",
                        "value": "CWE-400: Uncontrolled Resource Consumption"
                    }
                ]
            }
        ]
    },
    "affects": {
        "vendor": {
            "vendor_data": [
                {
                    "vendor_name": "Go standard library",
                    "product": {
                        "product_data": [
                            {
                                "product_name": "net/http",
                                "version": {
                                    "version_data": [
                                        {
                                            "version_affected": "<",
                                            "version_name": "0",
                                            "version_value": "1.21.9"
                                        },
                                        {
                                            "version_affected": "<",
                                            "version_name": "1.22.0-0",
                                            "version_value": "1.22.2"
                                        }
                                    ]
                                }
                            }
                        ]
                    }
                },
                {
                    "vendor_name": "golang.org/x/net",
                    "product": {
                        "product_data": [
                            {
                                "product_name": "golang.org/x/net/http2",
                                "version": {
                                    "version_data": [
                                        {
                                            "version_affected": "<",
                                            "version_name": "0",
                                            "version_value": "0.23.0"
                                        }
                                    ]
                                }
                            }
                        ]
                    }
                }
            ]
        }
    },
    "references": {
        "reference_data": [
            {
                "url": "https://go.dev/issue/65051",
                "refsource": "MISC",
                "name": "https://go.dev/issue/65051"
            },
            {
                "url": "https://go.dev/cl/576155",
                "refsource": "MISC",
                "name": "https://go.dev/cl/576155"
            },
            {
                "url": "https://groups.google.com/g/golang-announce/c/YgW0sx8mN3M",
                "refsource": "MISC",
                "name": "https://groups.google.com/g/golang-announce/c/YgW0sx8mN3M"
            },
            {
                "url": "https://pkg.go.dev/vuln/GO-2024-2687",
                "refsource": "MISC",
                "name": "https://pkg.go.dev/vuln/GO-2024-2687"
            },
            {
                "url": "https://security.netapp.com/advisory/ntap-20240419-0009/",
                "refsource": "MISC",
                "name": "https://security.netapp.com/advisory/ntap-20240419-0009/"
            },
            {
                "url": "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/QRYFHIQ6XRKRYBI2F5UESH67BJBQXUPT/",
                "refsource": "MISC",
                "name": "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/QRYFHIQ6XRKRYBI2F5UESH67BJBQXUPT/"
            },
            {
                "url": "http://www.openwall.com/lists/oss-security/2024/04/05/4",
                "refsource": "MISC",
                "name": "http://www.openwall.com/lists/oss-security/2024/04/05/4"
            },
            {
                "url": "http://www.openwall.com/lists/oss-security/2024/04/03/16",
                "refsource": "MISC",
                "name": "http://www.openwall.com/lists/oss-security/2024/04/03/16"
            }
        ]
    },
    "credits": [
        {
            "lang": "en",
            "value": "Bartek Nowotarski (https://nowotarski.info/)"
        }
    ]
}