{"answers":{"affected":"11 open source packages ship an affected version, including golang.org/x/net/http2, golang and golang.org/x/net.","exploited":"There is no known exploitation of CVE-2023-45288 in the wild and no public exploit code.","fix":"Upgrade golang.org/x/net/http2 to 0.23.0 or later.","what":"CVE-2023-45288 is a high-severity denial of service vulnerability in golang.org/x/net/http2, published on 4 Apr 2024. An attacker can exploit it over the internet without logging in, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2023-45288 and fix it if it is affected.\n\nWhat it is: CVE-2023-45288 is a high-severity denial of service vulnerability in golang.org/x/net/http2, published on 4 Apr 2024. An attacker can exploit it over the internet without logging in, with no action from the victim.\nExploitation: There is no known exploitation of CVE-2023-45288 in the wild and no public exploit code.\n\nAffected packages and fixed versions:\n- golang.org/x/net/http2 (Go): affected all versions; fixed in 0.23.0\n- golang.org/x/net/http2 (Go): affected all versions; fixed in 0.23.0\n- golang (Bitnami): affected all versions; fixed in 1.21.9, 1.22.2\n- golang.org/x/net (Go): affected all versions; fixed in 0.23.0\n- golang.org/x/net (Go): affected all versions; fixed in 0.23.0\n- golang.org/x/net (Go): affected all versions; fixed in 0.23.0\n- net/http (Go): affected all versions; fixed in 1.21.9\n- net/http (Go): affected all versions; fixed in 1.21.9\n- net/http (Go): affected from 1.22.0-0; fixed in 1.22.2\n- net/http (Go): affected from 1.22.0-0; fixed in 1.22.2\n- stdlib (Go): affected all versions; fixed in 1.21.9, 1.22.2\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2023-45288/ (Markdown: https://insights.sbomify.com/CVE-2023-45288/index.md)","id":"CVE-2023-45288","markdown":"https://insights.sbomify.com/CVE-2023-45288/index.md","name":"CVE-2023-45288","record":{"aliases":["ALSA-2024:1962","ALSA-2024:1963","ALSA-2024:2079","ALSA-2024:2699","AZL-38158","AZL-38173","AZL-38209","AZL-38233","AZL-38260","AZL-38281","AZL-38284","AZL-38302","AZL-38314","AZL-38338","AZL-38392","AZL-38395","AZL-38431","AZL-38473","AZL-38488","AZL-38503","AZL-38542","AZL-38569","AZL-38575","AZL-38581","AZL-38608","AZL-38623","AZL-38635","AZL-38659","AZL-38683","AZL-38692","AZL-38761","AZL-38785","AZL-38839","AZL-38878","AZL-38941","AZL-38950","AZL-38956","AZL-39004","AZL-39022","AZL-39154","AZL-39187","AZL-39202","AZL-39217","AZL-39223","AZL-39229","AZL-39232","AZL-39235","AZL-39238","AZL-39244","AZL-39259","AZL-39268","AZL-39274","AZL-39325","AZL-39334","AZL-39445","AZL-39463","AZL-39484","AZL-39487","AZL-39493","AZL-39505","AZL-39514","AZL-39550","AZL-39571","AZL-39625","AZL-39634","AZL-39678","AZL-39892","AZL-39984","AZL-42706","AZL-42864","AZL-43627","AZL-50336","BELL-CVE-2023-45288","BIT-golang-2023-45288","CLEANSTART-2026-CN84558","CLEANSTART-2026-EG08504","CLEANSTART-2026-ML87749","CLEANSTART-2026-PO33643","DEBIAN-CVE-2023-45288","ECHO-326d-6f7d-c967","GHSA-4v7x-pqxf-cx7m","GO-2024-2687","MGASA-2024-0128","MINI-2fgm-36mg-rg8x","MINI-4h8q-cgwr-cj59","MINI-4p5p-3m7c-hm69","MINI-4phm-rcff-8w2q","MINI-5hmh-6hg8-qw3q","MINI-5qrx-2qjc-97hp","MINI-79p2-33j7-h8pg","MINI-8jcc-45cq-mrpj","MINI-fxp4-pxwq-mww8","MINI-g5pr-h933-98qq","MINI-jh42-7v48-9q8w","MINI-p36j-8893-25f6","MINI-p647-ggh8-63p3","MINI-pgjm-j7j3-5xfx","OESA-2024-1488","RHSA-2024:1892","RHSA-2024:1899","RHSA-2024:1962","RHSA-2024:1963","RHSA-2024:2079","RHSA-2024:2625","RHSA-2024:2667","RHSA-2024:2671","RHSA-2024:2699","RHSA-2024:2892","RHSA-2024:2935","RHSA-2024:2936","RHSA-2024:4543","RHSA-2024:4545","RHSA-2024:4546","RHSA-2024:4933","RHSA-2024:4934","RLSA-2024:1962","RLSA-2024:2699","SUSE-SU-2024:1121-1","SUSE-SU-2024:1122-1","SUSE-SU-2024:1160-1","SUSE-SU-2024:1161-1","SUSE-SU-2024:2108-1","SUSE-SU-2024:3155-1","SUSE-SU-2025:0295-1","SUSE-SU-2025:0299-1","SUSE-SU-2025:0306-1","SUSE-SU-2025:0318-1","SUSE-SU-2025:0342-1","SUSE-SU-2025:0346-1","SUSE-SU-2025:0558-1","SUSE-SU-2025:0581-1","SUSE-SU-2026:20483-1","SUSE-SU-2026:20486-1","UBUNTU-CVE-2023-45288","openSUSE-SU-2024:13822-1","openSUSE-SU-2024:13823-1","openSUSE-SU-2024:13824-1","openSUSE-SU-2024:13837-1","openSUSE-SU-2024:13880-1","openSUSE-SU-2024:13881-1","openSUSE-SU-2024:13882-1","openSUSE-SU-2024:13989-1","openSUSE-SU-2024:14053-1","openSUSE-SU-2024:14399-1","openSUSE-SU-2024:14400-1","openSUSE-SU-2025:14709-1","openSUSE-SU-2025:14714-1","openSUSE-SU-2025:14744-1","openSUSE-SU-2025:15075-1","openSUSE-SU-2026:10090-1"],"analysis":{"component_type":"library","fix_type":"upgrade","impacts":["denial_of_service"],"network_reachable":"yes","non_default_config":false,"product_category":"Go HTTP/2 library","requires_auth":"none","summary":"An attacker can cause denial of service in Go HTTP/2 endpoints by sending excessive CONTINUATION frames, forcing expensive header parsing.","user_interaction":"not_required","vuln_class":"denial_of_service"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"Go","cpe":[],"cvss":{"score":7.5,"severity":"high","source":"cisa-adp","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","version":"3.1"},"cwes":[],"description":"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.","ecosystems":["AlmaLinux:8","AlmaLinux:9","Bitnami","Go","Red Hat:devtools:2023::el7","Red Hat:enterprise_linux:7::client","Red Hat:enterprise_linux:7::server","Red Hat:enterprise_linux:7::workstation","Red Hat:enterprise_linux:8::appstream","Red Hat:enterprise_linux:9::appstream","Red Hat:openshift:4.12::el8","Red Hat:openshift:4.12::el9","Red Hat:openshift:4.14::el9","Red Hat:openshift:4.15::el8","Red Hat:openshift:4.15::el9","Red Hat:rhel_aus:8.4::appstream","Red Hat:rhel_aus:8.6::appstream","Red Hat:rhel_e4s:8.4::appstream","Red Hat:rhel_e4s:8.6::appstream","Red Hat:rhel_e4s:9.0::appstream","Red Hat:rhel_eus:8.6::appstream","Red Hat:rhel_eus:8.8::appstream","Red Hat:rhel_eus:9.2::appstream","Red Hat:rhel_tus:8.4::appstream","Red Hat:rhel_tus:8.6::appstream","Rocky Linux:8","SUSE:Enterprise Storage 7.1","SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS","SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS","SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS","SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS","SUSE:Linux Enterprise Micro 5.1","SUSE:Linux Enterprise Micro 5.2","SUSE:Linux Enterprise Micro 5.3","SUSE:Linux Enterprise Micro 5.4","SUSE:Linux Enterprise Micro 5.5","SUSE:Linux Enterprise Module for Containers 15 SP5","SUSE:Linux Enterprise Module for Containers 15 SP6","SUSE:Linux Enterprise Module for Development Tools 15 SP5","SUSE:Linux Enterprise Module for HPC 15 SP6","SUSE:Linux Enterprise Server 15 SP2-LTSS","SUSE:Linux Enterprise Server 15 SP3-LTSS","SUSE:Linux Enterprise Server 15 SP4-LTSS","SUSE:Linux Enterprise Server for SAP Applications 15 SP2","SUSE:Linux Enterprise Server for SAP Applications 15 SP3","SUSE:Linux Enterprise Server for SAP Applications 15 SP4","SUSE:Linux Enterprise Software Development Kit 12 SP5","SUSE:Linux Micro 6.1","openSUSE:Leap 15.5","openSUSE:Leap 15.6","openSUSE:Leap Micro 5.3","openSUSE:Leap Micro 5.4","openSUSE:Tumbleweed"],"exploits":{"exploitdb":0,"first_seen":"2024-04-12","github_poc":1,"max_poc_stars":5,"metasploit":0,"nuclei":0,"refs":[{"date":"2024-04-12T07:36:39Z","kind":"github_poc","ref":"https://github.com/hex0punk/cont-flood-poc","stars":5,"title":"PoC for CVE-2023-45288, continuation flood vulnerability"}],"tier":"poc_unverified"},"has_fix":true,"headline":"HTTP/2 CONTINUATION flood in net/http","id":"CVE-2023-45288","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"Bitnami","product":null,"products":[],"type":"denial_of_service","year":"2023"},"n_packages":201,"n_references":8,"next":{"headline":"Incorrect forwarding of sensitive headers and cookies on HTTP redirect in net/http","id":"CVE-2023-45289"},"packages":[{"ecosystem":"Bitnami","fixed":["1.21.9","1.22.2"],"introduced":["0","1.22.0-0"],"last_affected":[],"package":"golang","purl":"pkg:bitnami/golang","source":"BIT-golang-2023-45288"},{"ecosystem":"Go","fixed":["0.23.0"],"introduced":["0"],"last_affected":[],"package":"golang.org/x/net","purl":null,"source":"GHSA-4v7x-pqxf-cx7m"},{"ecosystem":"Go","fixed":["0.23.0"],"introduced":["0"],"last_affected":[],"package":"golang.org/x/net","purl":"pkg:golang/golang.org/x/net","source":"GHSA-4v7x-pqxf-cx7m"},{"ecosystem":"Go","fixed":["0.23.0"],"introduced":["0"],"last_affected":[],"package":"golang.org/x/net","purl":"pkg:golang/golang.org/x/net","source":"GO-2024-2687"},{"ecosystem":"Go","fixed":["0.23.0"],"introduced":["0"],"last_affected":[],"package":"golang.org/x/net/http2","purl":null,"source":"GHSA-4v7x-pqxf-cx7m"},{"ecosystem":"Go","fixed":["0.23.0"],"introduced":["0"],"last_affected":[],"package":"golang.org/x/net/http2","purl":"pkg:golang/golang.org/x/net/http2","source":"GHSA-4v7x-pqxf-cx7m"},{"ecosystem":"Go","fixed":["1.21.9"],"introduced":["0"],"last_affected":[],"package":"net/http","purl":null,"source":"GHSA-4v7x-pqxf-cx7m"},{"ecosystem":"Go","fixed":["1.21.9"],"introduced":["0"],"last_affected":[],"package":"net/http","purl":"pkg:golang/net/http","source":"GHSA-4v7x-pqxf-cx7m"},{"ecosystem":"Go","fixed":["1.22.2"],"introduced":["1.22.0-0"],"last_affected":[],"package":"net/http","purl":null,"source":"GHSA-4v7x-pqxf-cx7m"},{"ecosystem":"Go","fixed":["1.22.2"],"introduced":["1.22.0-0"],"last_affected":[],"package":"net/http","purl":"pkg:golang/net/http","source":"GHSA-4v7x-pqxf-cx7m"},{"ecosystem":"Go","fixed":["1.21.9","1.22.2"],"introduced":["0","1.22.0-0"],"last_affected":[],"package":"stdlib","purl":"pkg:golang/stdlib","source":"GO-2024-2687"},{"ecosystem":"AlmaLinux:8","fixed":["1.20.2-1.module_el8.9.0+3642+43318da8"],"introduced":["0"],"last_affected":[],"package":"delve","purl":"pkg:rpm/almalinux/delve","source":"ALSA-2024:1962"},{"ecosystem":"AlmaLinux:8","fixed":["3.2.0-3.el8_9"],"introduced":["0"],"last_affected":[],"package":"git-lfs","purl":"pkg:rpm/almalinux/git-lfs","source":"ALSA-2024:2699"},{"ecosystem":"AlmaLinux:8","fixed":["1.20.12-1.module_el8.9.0+3728+f1d47c6f"],"introduced":["0"],"last_affected":[],"package":"go-toolset","purl":"pkg:rpm/almalinux/go-toolset","source":"ALSA-2024:1962"},{"ecosystem":"AlmaLinux:8","fixed":["1.20.12-8.module_el8.9.0+3818+ac9bcae6"],"introduced":["0"],"last_affected":[],"package":"golang","purl":"pkg:rpm/almalinux/golang","source":"ALSA-2024:1962"},{"ecosystem":"AlmaLinux:8","fixed":["1.20.12-8.module_el8.9.0+3818+ac9bcae6"],"introduced":["0"],"last_affected":[],"package":"golang-bin","purl":"pkg:rpm/almalinux/golang-bin","source":"ALSA-2024:1962"},{"ecosystem":"AlmaLinux:8","fixed":["1.20.12-8.module_el8.9.0+3818+ac9bcae6"],"introduced":["0"],"last_affected":[],"package":"golang-docs","purl":"pkg:rpm/almalinux/golang-docs","source":"ALSA-2024:1962"},{"ecosystem":"AlmaLinux:8","fixed":["1.20.12-8.module_el8.9.0+3818+ac9bcae6"],"introduced":["0"],"last_affected":[],"package":"golang-misc","purl":"pkg:rpm/almalinux/golang-misc","source":"ALSA-2024:1962"},{"ecosystem":"AlmaLinux:8","fixed":["1.20.12-8.module_el8.9.0+3818+ac9bcae6"],"introduced":["0"],"last_affected":[],"package":"golang-src","purl":"pkg:rpm/almalinux/golang-src","source":"ALSA-2024:1962"},{"ecosystem":"AlmaLinux:8","fixed":["1.20.12-8.module_el8.9.0+3818+ac9bcae6"],"introduced":["0"],"last_affected":[],"package":"golang-tests","purl":"pkg:rpm/almalinux/golang-tests","source":"ALSA-2024:1962"},{"ecosystem":"AlmaLinux:9","fixed":["3.2.0-2.el9_3"],"introduced":["0"],"last_affected":[],"package":"git-lfs","purl":"pkg:rpm/almalinux/git-lfs","source":"ALSA-2024:2079"},{"ecosystem":"AlmaLinux:9","fixed":["1.20.12-4.el9_3"],"introduced":["0"],"last_affected":[],"package":"go-toolset","purl":"pkg:rpm/almalinux/go-toolset","source":"ALSA-2024:1963"},{"ecosystem":"AlmaLinux:9","fixed":["1.20.12-4.el9_3"],"introduced":["0"],"last_affected":[],"package":"golang","purl":"pkg:rpm/almalinux/golang","source":"ALSA-2024:1963"},{"ecosystem":"AlmaLinux:9","fixed":["1.20.12-4.el9_3"],"introduced":["0"],"last_affected":[],"package":"golang-bin","purl":"pkg:rpm/almalinux/golang-bin","source":"ALSA-2024:1963"},{"ecosystem":"AlmaLinux:9","fixed":["1.20.12-4.el9_3"],"introduced":["0"],"last_affected":[],"package":"golang-docs","purl":"pkg:rpm/almalinux/golang-docs","source":"ALSA-2024:1963"},{"ecosystem":"AlmaLinux:9","fixed":["1.20.12-4.el9_3"],"introduced":["0"],"last_affected":[],"package":"golang-misc","purl":"pkg:rpm/almalinux/golang-misc","source":"ALSA-2024:1963"},{"ecosystem":"AlmaLinux:9","fixed":["1.20.12-4.el9_3"],"introduced":["0"],"last_affected":[],"package":"golang-src","purl":"pkg:rpm/almalinux/golang-src","source":"ALSA-2024:1963"},{"ecosystem":"AlmaLinux:9","fixed":["1.20.12-4.el9_3"],"introduced":["0"],"last_affected":[],"package":"golang-tests","purl":"pkg:rpm/almalinux/golang-tests","source":"ALSA-2024:1963"},{"ecosystem":"Red Hat:devtools:2023::el7","fixed":["0:1.19.13-7.el7_9"],"introduced":["0"],"last_affected":[],"package":"go-toolset-1.19-golang","purl":"pkg:rpm/redhat/go-toolset-1.19-golang","source":"RHSA-2024:2892"},{"ecosystem":"Red Hat:devtools:2023::el7","fixed":["0:1.19.13-7.el7_9"],"introduced":["0"],"last_affected":[],"package":"go-toolset-1.19-golang-bin","purl":"pkg:rpm/redhat/go-toolset-1.19-golang-bin","source":"RHSA-2024:2892"},{"ecosystem":"Red Hat:devtools:2023::el7","fixed":["0:1.19.13-7.el7_9"],"introduced":["0"],"last_affected":[],"package":"go-toolset-1.19-golang-docs","purl":"pkg:rpm/redhat/go-toolset-1.19-golang-docs","source":"RHSA-2024:2892"},{"ecosystem":"Red Hat:devtools:2023::el7","fixed":["0:1.19.13-7.el7_9"],"introduced":["0"],"last_affected":[],"package":"go-toolset-1.19-golang-misc","purl":"pkg:rpm/redhat/go-toolset-1.19-golang-misc","source":"RHSA-2024:2892"},{"ecosystem":"Red Hat:devtools:2023::el7","fixed":["0:1.19.13-7.el7_9"],"introduced":["0"],"last_affected":[],"package":"go-toolset-1.19-golang-race","purl":"pkg:rpm/redhat/go-toolset-1.19-golang-race","source":"RHSA-2024:2892"},{"ecosystem":"Red Hat:devtools:2023::el7","fixed":["0:1.19.13-7.el7_9"],"introduced":["0"],"last_affected":[],"package":"go-toolset-1.19-golang-src","purl":"pkg:rpm/redhat/go-toolset-1.19-golang-src","source":"RHSA-2024:2892"},{"ecosystem":"Red Hat:devtools:2023::el7","fixed":["0:1.19.13-7.el7_9"],"introduced":["0"],"last_affected":[],"package":"go-toolset-1.19-golang-tests","purl":"pkg:rpm/redhat/go-toolset-1.19-golang-tests","source":"RHSA-2024:2892"},{"ecosystem":"Red Hat:enterprise_linux:7::client","fixed":["0:0.8-1.el7_9"],"introduced":["0"],"last_affected":[],"package":"rhc-worker-script","purl":"pkg:rpm/redhat/rhc-worker-script","source":"RHSA-2024:2625"},{"ecosystem":"Red Hat:enterprise_linux:7::server","fixed":["0:0.8-1.el7_9"],"introduced":["0"],"last_affected":[],"package":"rhc-worker-script","purl":"pkg:rpm/redhat/rhc-worker-script","source":"RHSA-2024:2625"},{"ecosystem":"Red Hat:enterprise_linux:7::workstation","fixed":["0:0.8-1.el7_9"],"introduced":["0"],"last_affected":[],"package":"rhc-worker-script","purl":"pkg:rpm/redhat/rhc-worker-script","source":"RHSA-2024:2625"},{"ecosystem":"Red Hat:enterprise_linux:8::appstream","fixed":["0:1.20.2-1.module+el8.9.0+18926+5193682d"],"introduced":["0"],"last_affected":[],"package":"delve","purl":"pkg:rpm/redhat/delve","source":"RHSA-2024:1962"},{"ecosystem":"Red Hat:enterprise_linux:8::appstream","fixed":["0:1.20.2-1.module+el8.9.0+18926+5193682d"],"introduced":["0"],"last_affected":[],"package":"delve-debuginfo","purl":"pkg:rpm/redhat/delve-debuginfo","source":"RHSA-2024:1962"}],"prev":{"headline":"Before Go 1.20, the RSA based key exchange methods in crypto/tls may exhibit a timing side channel","id":"CVE-2023-45287"},"products":["golang.org/x/net/http2","net/http"],"published":"2024-04-04","related":[],"sources":[{"class":"attribution","licence":"MIT","name":"AlmaLinux","prefix":"ALSA"},{"class":"attribution","licence":"Apache-2.0","name":"Bitnami","prefix":"BIT"},{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CC BY 4.0","name":"GitHub Advisory Database","prefix":"GHSA"},{"class":"attribution","licence":"CC BY 4.0","name":"Go Vulnerability Database","prefix":"GO"},{"class":"attribution","licence":"CC BY 4.0","name":"Red Hat","prefix":"RHSA"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"},{"class":"open","licence":"CC0","name":"PoC-in-GitHub"}],"ssvc":{"automatable":"yes","exploitation":"none","technical_impact":"partial"},"state":"PUBLISHED","updated":"2025-11-04","vendors":["Go standard library","golang.org/x/net"]},"summary":"An attacker can cause denial of service in Go HTTP/2 endpoints by sending excessive CONTINUATION frames, forcing expensive header parsing.","url":"https://insights.sbomify.com/CVE-2023-45288/"}