CVE-2026-116135
Full vulnerability record from the local CVENow database.
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.
Severity
Not scored
CVSS score
Not available
Vulnerability status
Awaiting Analysis
Source identifier
9b29abf9-4ab0-4765-b253-1875cd9b441e
Published
2026-10-28 18:17:12.683000
Last modified
2026-10-29 15:11:53
View original CVE JSON
{
"id": "CVE-2026-116135",
"sourceIdentifier": "9b29abf9-4ab0-4765-b253-1875cd9b441e",
"published": "2026-10-28T18:17:12.683",
"lastModified": "2026-10-29T15:11:53.000",
"vulnStatus": "Awaiting Analysis",
"cveTags": [],
"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": [
{
"source": "9b29abf9-4ab0-4765-b253-1875cd9b441e",
"affectedData": [
{
"defaultStatus": "unaffected",
"collectionURL": "https://cpan.org/modules",
"packageName": "HTTP-Body",
"modules": [
"HTTP::Body"
],
"programFiles": [
"lib/HTTP/Body/UrlEncoded.pm"
],
"programRoutines": [
{
"name": "HTTP::Body::UrlEncoded::spin"
}
],
"repo": "https://github.com/libwww-perl/HTTP-Body",
"packageURL": "pkg:cpan/HTTP-Body",
"versions": [
{
"version": "0",
"lessThan": "1.23_01",
"versionType": "custom",
"status": "affected"
}
]
}
]
}
],
"metrics": {},
"weaknesses": [
{
"source": "9b29abf9-4ab0-4765-b253-1875cd9b441e",
"type": "Secondary",
"description": [
{
"lang": "en",
"value": "CWE-178"
}
]
}
],
"references": [
{
"url": "https://github.com/libwww-perl/HTTP-Body/commit/336f1a23b4115a5cbeb546f36df5af62c90bdc0d.patch",
"source": "9b29abf9-4ab0-4765-b253-1875cd9b441e"
},
{
"url": "https://metacpan.org/release/GETTY/HTTP-Body-1.24/changes",
"source": "9b29abf9-4ab0-4765-b253-1875cd9b441e"
},
{
"url": "https://www.rfc-editor.org/rfc/rfc3986#section-2.1",
"source": "9b29abf9-4ab0-4765-b253-1875cd9b441e"
}
]
}