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::XFormsMultipart - HTTP Body XForms multipart/related submission Parser

SYNOPSIS

use HTTP::Body::XForms;

DESCRIPTION

HTTP Body XForms submission Parser. Inherits HTTP::Body::MultiPart.

This body type is used to parse XForms submission. In this case, the XML part that contains the model is indicated by the start attribute in the content-type. The XML content is stored unparsed on the parameter XForms:Model.

METHODS

init

This function is overridden to detect the start part of the multipart/related post.

start

Defines the start part of the multipart/related body.

handler

This function is overridden to differ the start part, which should be set as the XForms:Model param if its content type is application/xml.

SUPPORT

See HTTP::Body

AUTHOR

Daniel Ruoso daniel@ruoso.com

LICENSE

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