{"id":"CVE-2026-116133","aliases":["DEBIAN-CVE-2026-116133","EUVD-2026-112271","GHSA-xcwx-vggw-cvw9","UBUNTU-CVE-2026-116133","openSUSE-SU-2026:12346-1"],"status":"published","title":"HTTP::Body versions before 1.23_01 for Perl allow CPU exhaustion via quadratic rescanning of a multipart body with a missing or malformed boundary","description":"HTTP::Body versions before 1.23_01 for Perl allow CPU exhaustion via quadratic rescanning of a multipart body with a missing or malformed boundary.\n\nBefore the first part, and between parts, the multipart parser searches the whole buffered body for the next boundary. On a miss it keeps everything and searches again from the start when the next chunk arrives. A body with no boundary, or with a delimiter followed by neither CRLF nor \"--\", is therefore rescanned on every chunk, taking time quadratic in its size.\n\nA remote attacker can exhaust worker CPU with a few such requests.","severity":{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high","assessor":"adp","from":"cve"},"epss":{"day":"2026-11-11","score":0.00474,"percentile":0.41447,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-407"],"published":"2026-10-28T17:15:16Z","modified":"2026-11-05T21:34:41Z","fixes":[{"ecosystem":"Debian:14","package":"libhttp-body-perl","fixed_in":["1.24.01-1"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Debian:12","package":"libhttp-body-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.22-2","1.23-1","1.24.01-1"]},{"source":"osv","ecosystem":"Debian:13","package":"libhttp-body-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.23-1","1.24.01-1"]},{"source":"osv","ecosystem":"Debian:14","package":"libhttp-body-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.24.01-1"}]}],"versions":["1.23-1"]},{"source":"osv","ecosystem":"Ubuntu:16.04:LTS","package":"libhttp-body-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.22-1"]},{"source":"osv","ecosystem":"Ubuntu:18.04:LTS","package":"libhttp-body-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.22-1"]},{"source":"osv","ecosystem":"Ubuntu:20.04:LTS","package":"libhttp-body-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.22-1"]},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"libhttp-body-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.22-1.1"]},{"source":"osv","ecosystem":"Ubuntu:24.04:LTS","package":"libhttp-body-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.22-2"]},{"source":"osv","ecosystem":"Ubuntu:26.10","package":"libhttp-body-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.23-1"]},{"source":"osv","ecosystem":"Ubuntu:26.04:LTS","package":"libhttp-body-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.23-1"]},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"perl-HTTP-Body","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.240.0-1.1"}]}],"bundled":7}],"references":[{"url":"https://github.com/libwww-perl/HTTP-Body/commit/bf77eb959bbe1641b77f69eefe98d58ce4c4ec79.patch","tags":["patch","fix","report"]},{"url":"https://metacpan.org/release/GETTY/HTTP-Body-1.24/changes","tags":["release-notes","advisory","report"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-116133","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-xcwx-vggw-cvw9"},{"url":"https://cpan.org/modules","tags":["web"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/116xxx/CVE-2026-116133.json","tags":["advisory"]},{"url":"https://github.com/libwww-perl/HTTP-Body","tags":["package"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-116133","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2026-116133","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-116133","tags":["report"]},{"url":"https://lists.security.metacpan.org/cve-announce/msg/44711943/","tags":["report"]},{"url":"","tags":["advisory"]},{"url":"https://www.suse.com/security/cve/CVE-2026-116131","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-116132","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-116133","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-116134","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-116135","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-116285","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-116531","tags":["web"]}],"sources":{"cve":[{"id":"CVE-2026-116133","title":"HTTP::Body versions before 1.23_01 for Perl allow CPU exhaustion via quadratic rescanning of a multipart body with a missing or malformed boundary","description":"HTTP::Body versions before 1.23_01 for Perl allow CPU exhaustion via quadratic rescanning of a multipart body with a missing or malformed boundary.\n\nBefore the first part, and between parts, the multipart parser searches the whole buffered body for the next boundary. On a miss it keeps everything and searches again from the start when the next chunk arrives. A body with no boundary, or with a delimiter followed by neither CRLF nor \"--\", is therefore rescanned on every chunk, taking time quadratic in its size.\n\nA remote attacker can exhaust worker CPU with a few such requests.","status":"published","published":"2026-10-28T17:15:16.522Z","modified":"2026-11-05T20:08:25.261Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high","assessor":"adp"}],"cwes":["CWE-407"],"updated_at":"2026-11-05T21:25:05.248795Z"}],"euvd":[{"id":"EUVD-2026-112271","description":"HTTP::Body versions before 1.23_01 for Perl allow CPU exhaustion via quadratic rescanning of a multipart body with a missing or malformed boundary.\n\nBefore the first part, and between parts, the multipart parser searches the whole buffered body for the next boundary. On a miss it keeps everything and searches again from the start when the next chunk arrives. A body with no boundary, or with a delimiter followed by neither CRLF nor \"--\", is therefore rescanned on every chunk, taking time quadratic in its size.\n\nA remote attacker can exhaust worker CPU with a few such requests.","status":"published","published":"2026-10-28T17:15:16Z","modified":"2026-11-05T20:08:25Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"updated_at":"2026-11-05T21:01:58.804285Z"}],"ghsa":[{"id":"GHSA-xcwx-vggw-cvw9","title":"HTTP::Body versions before 1.23_01 for Perl allow CPU exhaustion via quadratic rescanning of a...","description":"HTTP::Body versions before 1.23_01 for Perl allow CPU exhaustion via quadratic rescanning of a multipart body with a missing or malformed boundary.\n\nBefore the first part, and between parts, the multipart parser searches the whole buffered body for the next boundary. On a miss it keeps everything and searches again from the start when the next chunk arrives. A body with no boundary, or with a delimiter followed by neither CRLF nor \"--\", is therefore rescanned on every chunk, taking time quadratic in its size.\n\nA remote attacker can exhaust worker CPU with a few such requests.","status":"published","published":"2026-10-28T18:32:12Z","modified":"2026-11-05T21:34:41Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"cwes":["CWE-407"],"updated_at":"2026-11-05T21:56:36.974002Z"}],"nvd":[{"id":"CVE-2026-116133","description":"HTTP::Body versions before 1.23_01 for Perl allow CPU exhaustion via quadratic rescanning of a multipart body with a missing or malformed boundary.\n\nBefore the first part, and between parts, the multipart parser searches the whole buffered body for the next boundary. On a miss it keeps everything and searches again from the start when the next chunk arrives. A body with no boundary, or with a delimiter followed by neither CRLF nor \"--\", is therefore rescanned on every chunk, taking time quadratic in its size.\n\nA remote attacker can exhaust worker CPU with a few such requests.","status":"published","published":"2026-10-28T18:17:12.46Z","modified":"2026-11-05T20:17:43.66Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high","assessor":"secondary"}],"cwes":["CWE-407"],"updated_at":"2026-11-05T21:56:47.444894Z"}],"osv":[{"id":"CVE-2026-116133","title":"HTTP::Body versions before 1.23_01 for Perl allow CPU exhaustion via quadratic rescanning of a multipart body with a missing or malformed boundary","description":"HTTP::Body versions before 1.23_01 for Perl allow CPU exhaustion via quadratic rescanning of a multipart body with a missing or malformed boundary.\n\nBefore the first part, and between parts, the multipart parser searches the whole buffered body for the next boundary. On a miss it keeps everything and searches again from the start when the next chunk arrives. A body with no boundary, or with a delimiter followed by neither CRLF nor \"--\", is therefore rescanned on every chunk, taking time quadratic in its size.\n\nA remote attacker can exhaust worker CPU with a few such requests.","status":"published","published":"2026-10-28T17:15:16.522Z","modified":"2026-11-07T02:30:36.819836198Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"cwes":["CWE-407"],"updated_at":"2026-11-07T03:08:01.156605Z"},{"id":"DEBIAN-CVE-2026-116133","description":"HTTP::Body versions before 1.23_01 for Perl allow CPU exhaustion via quadratic rescanning of a multipart body with a missing or malformed boundary.  Before the first part, and between parts, the multipart parser searches the whole buffered body for the next boundary. On a miss it keeps everything and searches again from the start when the next chunk arrives. A body with no boundary, or with a delimiter followed by neither CRLF nor \"--\", is therefore rescanned on every chunk, taking time quadratic in its size.  A remote attacker can exhaust worker CPU with a few such requests.","status":"published","published":"2026-10-28T18:17:12.46Z","modified":"2026-11-06T10:04:33.059400792Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"updated_at":"2026-11-06T10:38:22.758306Z"},{"id":"UBUNTU-CVE-2026-116133","description":"HTTP::Body versions before 1.23_01 for Perl allow CPU exhaustion via quadratic rescanning of a multipart body with a missing or malformed boundary. Before the first part, and between parts, the multipart parser searches the whole buffered body for the next boundary. On a miss it keeps everything and searches again from the start when the next chunk arrives. A body with no boundary, or with a delimiter followed by neither CRLF nor \"--\", is therefore rescanned on every chunk, taking time quadratic in its size. A remote attacker can exhaust worker CPU with a few such requests.","status":"published","published":"2026-10-28T18:17:00Z","modified":"2026-11-07T01:45:03.648564916Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"updated_at":"2026-11-07T01:57:16.198641Z"},{"id":"openSUSE-SU-2026:12346-1","title":"perl-HTTP-Body-1.240.0-1.1 on GA media","description":"These are all security issues fixed in the perl-HTTP-Body-1.240.0-1.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2026-10-29T00:00:00Z","modified":"2026-10-31T18:00:06.836285455Z","updated_at":"2026-11-02T16:58:40.245664Z"}]}}
