CVE-2026-116135: HTTP::Body versions before 1.23_01 for Perl drop mixed-case percent escapes from urlencoded form fields instead of decoding them Robert Rothenberg 28 Oct 2026 17:22 UTC

========================================================================
CVE-2026-116135                                      CPAN Security Group
========================================================================

         CVE ID:  CVE-2026-116135

   Distribution:  HTTP-Body
       Versions:  before 1.23_01
       MetaCPAN:  https://metacpan.org/dist/HTTP-Body
       VCS Repo:  https://github.com/libwww-perl/HTTP-Body

HTTP::Body versions before 1.23_01 for Perl drop mixed-case percent
escapes from urlencoded form fields instead of decoding them

Description
-----------
HTTP::Body versions before 1.23_01 for Perl drop mixed-case percent
escapes from urlencoded form fields instead of decoding them.

The decode table holds only the all-lowercase and all-uppercase
spelling of each hex pair, while the escape pattern matches either
case. An escape such as %aB finds no entry and is replaced with
nothing, joining the bytes on either side. Hex digits in percent
escapes are case-insensitive, and conforming decoders return the byte.

A remote attacker can send a field name or value that a conforming
decoder in front of the application reads differently, so that
pass%aBword reaches the application as password.

Problem types
-------------
- CWE-178 Improper Handling of Case Sensitivity

Solutions
---------
Upgrade to HTTP-Body 1.23_01 or later.

References
----------
https://github.com/libwww-perl/HTTP-Body/commit/336f1a23b4115a5cbeb546f36df5af62c90bdc0d.patch
https://metacpan.org/release/GETTY/HTTP-Body-1.24/changes
https://www.rfc-editor.org/rfc/rfc3986#section-2.1