Security Advisories (2)
CVE-2026-117500 (2026-10-28)

HTTP::Body versions before 1.24_01 for Perl allow CPU exhaustion via regex backtracking on the filename of a multipart upload. For every file part, the multipart parser finds the suffix of the uploaded filename by matching the default $basename_regexp, qr/[^.]+(\.[^\\\/]+)$/, against the whole basename. A basename made of many dots and ending in a backslash makes the regex backtrack in time quadratic in its length. A remote attacker can exhaust CPU with one request, as a basename of about 32 KB takes several seconds to match and every file part is matched separately.

CVE-2026-117501 (2026-10-28)

HTTP::Body versions before 1.24_01 for Perl allow memory exhaustion via unbounded buffering of chunked request bodies. In chunked mode, used when no content length is given, add() holds each chunk in memory until all of it has arrived. A line that is not a chunk-size line, a size line without CRLF, or a size too large to fit an integer leaves the parser waiting forever, and every later add() grows the buffer. A remote attacker can exhaust memory in applications that pass chunked request bodies to HTTP::Body.

NAME

HTTP::Body::MultiPart - HTTP Body Multipart Parser

SYNOPSIS

use HTTP::Body::MultiPart;

DESCRIPTION

HTTP Body Multipart Parser.

METHODS

init
spin
boundary
boundary_begin
boundary_end
crlf
delimiter_begin
delimiter_end
parse_preamble
parse_boundary
parse_header
parse_body
handler

SUPPORT

See HTTP::Body

AUTHOR

Christian Hansen, ch@ngmedia.com

LICENSE

This library is free software . You can redistribute it and/or modify it under the same terms as perl itself.