{"id":"CVE-2026-116135","state":"PUBLISHED","title":"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.\n\nThe 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.\n\nA 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.","publishedAt":"2026-10-28T17:15:50.270Z","updatedAt":"2026-10-28T17:15:50.270Z","severity":null,"assigner":"CPANSec","products":["HTTP-Body"],"affected":[{"packageName":"HTTP-Body","packageURL":"pkg:cpan/HTTP-Body","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"1.23_01","versionType":"custom"}],"collectionURL":"https://cpan.org/modules","modules":["HTTP::Body"],"programFiles":["lib/HTTP/Body/UrlEncoded.pm"],"programRoutines":[{"name":"HTTP::Body::UrlEncoded::spin"}],"repo":"https://github.com/libwww-perl/HTTP-Body"}],"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"],"weaknesses":["CWE-178"],"ingestedAt":"2026-10-29T20:10:43.281Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/116xxx/CVE-2026-116135.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-116135","state":"PUBLISHED","datePublished":"2026-10-28T17:15:50.270Z","dateUpdated":"2026-10-28T17:15:50.270Z","assignerShortName":"CPANSec","assignerOrgId":"9b29abf9-4ab0-4765-b253-1875cd9b441e","dateReserved":"2026-10-25T11:14:04.979Z"},"containers":{"cna":{"title":"HTTP::Body versions before 1.23_01 for Perl drop mixed-case percent escapes from urlencoded form fields instead of decoding them","descriptions":[{"lang":"en","value":"HTTP::Body versions before 1.23_01 for Perl drop mixed-case percent escapes from urlencoded form fields instead of decoding them.\n\nThe 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.\n\nA 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."}],"affected":[{"packageName":"HTTP-Body","packageURL":"pkg:cpan/HTTP-Body","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"1.23_01","versionType":"custom"}],"collectionURL":"https://cpan.org/modules","modules":["HTTP::Body"],"programFiles":["lib/HTTP/Body/UrlEncoded.pm"],"programRoutines":[{"name":"HTTP::Body::UrlEncoded::spin"}],"repo":"https://github.com/libwww-perl/HTTP-Body"}],"references":[{"url":"https://github.com/libwww-perl/HTTP-Body/commit/336f1a23b4115a5cbeb546f36df5af62c90bdc0d.patch","tags":["patch"]},{"url":"https://metacpan.org/release/GETTY/HTTP-Body-1.24/changes","tags":["release-notes"]},{"url":"https://www.rfc-editor.org/rfc/rfc3986#section-2.1"}],"problemTypes":[{"descriptions":[{"cweId":"CWE-178","description":"CWE-178 Improper Handling of Case Sensitivity","lang":"en","type":"CWE"}]}],"providerMetadata":{"shortName":"CPANSec","orgId":"9b29abf9-4ab0-4765-b253-1875cd9b441e","dateUpdated":"2026-10-28T17:15:50.270Z"},"solutions":[{"lang":"en","value":"Upgrade to HTTP-Body 1.23_01 or later."}],"source":{"discovery":"UNKNOWN"},"x_generator":{"engine":"cpansec-cna-tool 0.1"}}}}}