HTTP::Body versions before 1.23_01 for Perl drop mixed-case percent escapes from urlencoded form fields instead of decoding them
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 1.23_01
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
HTTP::Body for Perl, before version 1.23_01, is affected because it silently deletes mixed-case percent escapes (such as %aB) from URL-encoded form data instead of decoding them. This can cause form field names and values to be altered, so a remote attacker may be able to make the application receive different input than a standard decoder in front of it would pass along, potentially bypassing checks such as those on a password field.
Summarized by anthropic/claude-haiku-5.5. Verify details against the original sources.
Read the original 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.
Timeline
- CVE published
- First seen by cve.now
Affected versions
- HTTP-Body
fixed in 1.23_01