{"document":{"category":"csaf_vex","csaf_version":"2.0","title":"CVE-2026-10725: Protocol::HTTP2 versions before 1.13 for Perl is vulnerable to a HTTP/2 Bomb","publisher":{"category":"vendor","name":"HarborGuard Database","namespace":"https://database.harborguard.co"},"tracking":{"id":"CVE-2026-10725","status":"final","version":"1","initial_release_date":"2026-06-06T09:14:45.652Z","current_release_date":"2026-06-09T07:20:32.184Z","revision_history":[{"date":"2026-06-06T09:14:45.652Z","number":"1","summary":"Initial machine-readable export from HarborGuard."}]},"distribution":{"tlp":{"label":"WHITE"},"text":"Public CVE data; freely redistributable."},"notes":[{"category":"description","text":"Protocol::HTTP2 versions before 1.13 for Perl is vulnerable to a HTTP/2 Bomb.\n\nProtocol::HTTP2's inbound HPACK path has no header-list size limit, so a small HTTP/2 request can expand into large server memory (the \"HTTP/2 bomb\").\n\nThe headers_decode method materialises a full key+value copy per indexed reference with no running size check, and the stream_header_block_add method appends (since version 1.12) every CONTINUATION frame to the per-stream buffer unbounded.\n\nMAX_HEADER_LIST_SIZE (default 65536) is advertised in SETTINGS but never consulted on decode.  It is absent from the decoder and from the :limits export tag.","title":"CVE description"}],"references":[{"category":"self","summary":"CVE-2026-10725 on HarborGuard Database","url":"https://database.harborguard.co/cve/CVE-2026-10725"},{"category":"external","summary":"CVE Record","url":"https://www.cve.org/CVERecord?id=CVE-2026-10725"},{"category":"external","summary":"metacpan.org","url":"https://metacpan.org/release/CRUX/Protocol-HTTP2-1.13/changes"},{"category":"external","summary":"metacpan.org","url":"https://metacpan.org/release/CRUX/Protocol-HTTP2-1.12/source/lib/Protocol/HTTP2/HeaderCompression.pm#L133"},{"category":"external","summary":"metacpan.org","url":"https://metacpan.org/release/CRUX/Protocol-HTTP2-1.12/source/lib/Protocol/HTTP2/Stream.pm#L414"},{"category":"external","summary":"github.com","url":"https://github.com/vlet/p5-Protocol-HTTP2/commit/822bf22224adbd662e8d0b865eeacb2b294d16cd.patch"},{"category":"external","summary":"security.metacpan.org","url":"https://security.metacpan.org/patches/P/Protocol-HTTP2/1.12/CVE-2026-10725-r2.patch"}]},"product_tree":{"branches":[{"category":"vendor","name":"CRUX","branches":[{"category":"product_name","name":"Protocol::HTTP2","branches":[{"category":"product_version_range","name":"<1.13","product":{"name":"CRUX Protocol::HTTP2 <1.13","product_id":"CSAFPID-1","product_identification_helper":{"cpe":"cpe:2.3:a:crux:protocol\\:\\:http2:*:*:*:*:*:*:*:*"}}}]}]}]},"vulnerabilities":[{"cve":"CVE-2026-10725","title":"Protocol::HTTP2 versions before 1.13 for Perl is vulnerable to a HTTP/2 Bomb","notes":[{"category":"description","text":"Protocol::HTTP2 versions before 1.13 for Perl is vulnerable to a HTTP/2 Bomb.\n\nProtocol::HTTP2's inbound HPACK path has no header-list size limit, so a small HTTP/2 request can expand into large server memory (the \"HTTP/2 bomb\").\n\nThe headers_decode method materialises a full key+value copy per indexed reference with no running size check, and the stream_header_block_add method appends (since version 1.12) every CONTINUATION frame to the per-stream buffer unbounded.\n\nMAX_HEADER_LIST_SIZE (default 65536) is advertised in SETTINGS but never consulted on decode.  It is absent from the decoder and from the :limits export tag.","title":"CVE description"}],"product_status":{"known_affected":["CSAFPID-1"]},"scores":[{"cvss_v3":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","baseScore":7.5,"baseSeverity":"HIGH"},"products":["CSAFPID-1"]}],"remediations":[{"category":"vendor_fix","details":"Update to a fixed version: 1.13.","product_ids":["CSAFPID-1"],"url":"https://github.com/vlet/p5-Protocol-HTTP2/commit/822bf22224adbd662e8d0b865eeacb2b294d16cd.patch"}]}]}