Security Advisories (1)
CVE-2026-10725 (2026-06-06)

Protocol::HTTP2 versions before 1.13 for Perl is vulnerable to a HTTP/2 Bomb. Protocol::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"). The 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. MAX_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.

Changes for version 1.06 - 2016-02-22

  • implemented keepalive option for client (#1)
  • explicit connection closing for client (#1)
  • fixed MAX_PAYLOAD_SIZE constant value (thanks to Francisco Obispo for bugreport)

Documentation

Modules

HTTP/2 protocol implementation (RFC 7540)
HTTP/2 client
HTTP/2 server

Provides

in lib/Protocol/HTTP2/Connection.pm
in lib/Protocol/HTTP2/Constants.pm
in lib/Protocol/HTTP2/Frame.pm
in lib/Protocol/HTTP2/Frame/Continuation.pm
in lib/Protocol/HTTP2/Frame/Data.pm
in lib/Protocol/HTTP2/Frame/Goaway.pm
in lib/Protocol/HTTP2/Frame/Headers.pm
in lib/Protocol/HTTP2/Frame/Ping.pm
in lib/Protocol/HTTP2/Frame/Priority.pm
in lib/Protocol/HTTP2/Frame/Push_promise.pm
in lib/Protocol/HTTP2/Frame/Rst_stream.pm
in lib/Protocol/HTTP2/Frame/Settings.pm
in lib/Protocol/HTTP2/Frame/Window_update.pm
in lib/Protocol/HTTP2/HeaderCompression.pm
in lib/Protocol/HTTP2/Huffman.pm
in lib/Protocol/HTTP2/HuffmanCodes.pm
in lib/Protocol/HTTP2/Server.pm
in lib/Protocol/HTTP2/StaticTable.pm
in lib/Protocol/HTTP2/Stream.pm
in lib/Protocol/HTTP2/Trace.pm
in lib/Protocol/HTTP2/Upgrade.pm