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 0.11 - 2014-08-14

  • dropped Hash::MultiValue requirement
  • fixed HPACK
  • fixed HPACK test

Documentation

Modules

HTTP/2 protocol (draft 14) implementation
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/StaticTable.pm
in lib/Protocol/HTTP2/Stream.pm
in lib/Protocol/HTTP2/Trace.pm
in lib/Protocol/HTTP2/Upgrade.pm