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
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
9.8
HTTP::Body versions before 1.23_01 for Perl drop mixed-case percent escapes from urlencoded form fields instead of decoding them
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.
- Record
CVE-2026-116135- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-178
- Updated
- 2026-11-05
EUVDEUVD-2026-112273
9.8
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.
- Record
EUVD-2026-112273- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-05
GitHub AdvisoriesGHSA-xw3w-872r-g8q5
9.8
HTTP::Body versions before 1.23_01 for Perl drop mixed-case percent escapes from urlencoded form...
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.
- Record
GHSA-xw3w-872r-g8q5- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-178
- Updated
- 2026-11-05
NVD
9.8
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.
- Record
CVE-2026-116135- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-178
- Updated
- 2026-11-05
OSV
9.8
HTTP::Body versions before 1.23_01 for Perl drop mixed-case percent escapes from urlencoded form fields instead of decoding them
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.
- Record
CVE-2026-116135- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-178
- Updated
- 2026-11-07
OSVDEBIAN-CVE-2026-116135
9.8
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.
- Record
DEBIAN-CVE-2026-116135- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-06
OSVUBUNTU-CVE-2026-116135
9.8
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.
- Record
UBUNTU-CVE-2026-116135- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-07
OSVopenSUSE-SU-2026:12346-1 No score
perl-HTTP-Body-1.240.0-1.1 on GA media
These are all security issues fixed in the perl-HTTP-Body-1.240.0-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:12346-1- Updated
- 2026-11-02
Affected packages
| Package | Affected | Fixed |
|---|---|---|
libhttp-body-perlDebian:12 |
All versions, plus listed versions 1.22-21.23-11.24.01-1 |
None known |
libhttp-body-perlDebian:13 |
All versions, plus listed versions 1.23-11.24.01-1 |
None known |
libhttp-body-perlDebian:14 |
before 1.24.01-1, plus listed versions 1.23-1 |
1.24.01-1 |
libhttp-body-perlUbuntu:16.04:LTS |
All versions, plus listed versions 1.22-1 |
None known |
libhttp-body-perlUbuntu:18.04:LTS |
All versions, plus listed versions 1.22-1 |
None known |
libhttp-body-perlUbuntu:20.04:LTS |
All versions, plus listed versions 1.22-1 |
None known |
libhttp-body-perlUbuntu:22.04:LTS |
All versions, plus listed versions 1.22-1.1 |
None known |
libhttp-body-perlUbuntu:24.04:LTS |
All versions, plus listed versions 1.22-2 |
None known |
libhttp-body-perlUbuntu:26.10 |
All versions, plus listed versions 1.23-1 |
None known |
libhttp-body-perlUbuntu:26.04:LTS |
All versions, plus listed versions 1.23-1 |
None known |
perl-HTTP-BodyopenSUSE:Tumbleweed From an advisory covering 7 CVEs |
before 1.240.0-1.1 | 1.240.0-1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected | EUVD, GitHub Advisories, NVD | |
| severity | CVE List, OSV | |
| affected, aliases, facts, references | OSV | |
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-116135 is a critical vulnerability (CVSS 9.8) in libhttp-body-perl, published October 28, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.60%, the 48th percentile. Fixed in libhttp-body-perl 1.24.01-1.
References
github.com/libwww-perl/HTTP-Body/commit/336f1a23b4115a5cbeb546f36df5af62c90bdc0d.patch
metacpan.org/release/GETTY/HTTP-Body-1.24/changes
rfc-editor.org/rfc/rfc3986
nvd.nist.gov/vuln/detail/CVE-2026-116135
github.com/advisories/GHSA-xw3w-872r-g8q5
cpan.org/modules
Show 13 moreShow less
github.com/CVEProject/cvelistV5/tree/main/cves/2026/116xxx/CVE-2026-116135.json
github.com/libwww-perl/HTTP-Body
security-tracker.debian.org/tracker/CVE-2026-116135
ubuntu.com/security/CVE-2026-116135
cve.org/CVERecord?id=CVE-2026-116135
lists.security.metacpan.org/cve-announce/msg/44711937
suse.com/security/cve/CVE-2026-116131
suse.com/security/cve/CVE-2026-116132
suse.com/security/cve/CVE-2026-116133
suse.com/security/cve/CVE-2026-116134
suse.com/security/cve/CVE-2026-116135
suse.com/security/cve/CVE-2026-116285
suse.com/security/cve/CVE-2026-116531