{"id":"CVE-2026-114629","state":"PUBLISHED","title":"Web::Simple versions before 0.035 for Perl allocate a buffer sized by the Content-Length header for urlencoded body parameters","description":"Web::Simple versions before 0.035 for Perl allocate a buffer sized by the Content-Length header for urlencoded body parameters.\n\nWeb::Dispatch::ParamParser::get_unpacked_body_from reads an application/x-www-form-urlencoded body using a single read call, with no cap and the return value ignored. Perl's read grows the buffer to the requested length before reading, so the declared Content-Length determines the allocation.\n\nAn attacker can trigger this through any route whose dispatch specification has a % body-parameter match, such as sub (POST + %name=), sending a Content-Length far larger than the body actually sent. No authentication is involved.","publishedAt":"2026-10-24T13:50:47.616Z","updatedAt":"2026-10-24T16:06:39.380Z","severity":null,"assigner":"CPANSec","products":["Web-Simple"],"affected":[{"packageName":"Web-Simple","packageURL":"pkg:cpan/Web-Simple","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"0.035","versionType":"custom"}],"collectionURL":"https://cpan.org/modules","modules":["Web::Simple"],"programFiles":["lib/Web/Dispatch/ParamParser.pm"],"programRoutines":[{"name":"Web::Dispatch::ParamParser::get_unpacked_body_from"}],"repo":"https://github.com/p5sagit/Web-Simple"}],"references":["https://github.com/p5sagit/Web-Simple/commit/7e02c4f6204a2898938d357e6efe6dc2679af695.patch","https://metacpan.org/release/ETHER/Web-Simple-0.035/changes","http://www.openwall.com/lists/oss-security/2026/10/24/4"],"weaknesses":["CWE-789"],"ingestedAt":"2026-10-29T20:10:43.281Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/114xxx/CVE-2026-114629.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-114629","state":"PUBLISHED","datePublished":"2026-10-24T13:50:47.616Z","dateUpdated":"2026-10-24T16:06:39.380Z","assignerShortName":"CPANSec","assignerOrgId":"9b29abf9-4ab0-4765-b253-1875cd9b441e","dateReserved":"2026-10-21T21:43:01.842Z"},"containers":{"cna":{"title":"Web::Simple versions before 0.035 for Perl allocate a buffer sized by the Content-Length header for urlencoded body parameters","descriptions":[{"lang":"en","value":"Web::Simple versions before 0.035 for Perl allocate a buffer sized by the Content-Length header for urlencoded body parameters.\n\nWeb::Dispatch::ParamParser::get_unpacked_body_from reads an application/x-www-form-urlencoded body using a single read call, with no cap and the return value ignored. Perl's read grows the buffer to the requested length before reading, so the declared Content-Length determines the allocation.\n\nAn attacker can trigger this through any route whose dispatch specification has a % body-parameter match, such as sub (POST + %name=), sending a Content-Length far larger than the body actually sent. No authentication is involved."}],"affected":[{"packageName":"Web-Simple","packageURL":"pkg:cpan/Web-Simple","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"0.035","versionType":"custom"}],"collectionURL":"https://cpan.org/modules","modules":["Web::Simple"],"programFiles":["lib/Web/Dispatch/ParamParser.pm"],"programRoutines":[{"name":"Web::Dispatch::ParamParser::get_unpacked_body_from"}],"repo":"https://github.com/p5sagit/Web-Simple"}],"references":[{"url":"https://github.com/p5sagit/Web-Simple/commit/7e02c4f6204a2898938d357e6efe6dc2679af695.patch","tags":["patch"]},{"url":"https://metacpan.org/release/ETHER/Web-Simple-0.035/changes","tags":["release-notes"]}],"problemTypes":[{"descriptions":[{"cweId":"CWE-789","description":"CWE-789 Memory Allocation with Excessive Size Value","lang":"en","type":"CWE"}]}],"providerMetadata":{"shortName":"CPANSec","orgId":"9b29abf9-4ab0-4765-b253-1875cd9b441e","dateUpdated":"2026-10-24T13:50:47.616Z"},"solutions":[{"lang":"en","value":"Upgrade to Web::Simple 0.035 or later, and in the application configure $Web::Dispatch::ParamParser::MAX_BODY_SIZE."}],"source":{"discovery":"UNKNOWN"},"workarounds":[{"lang":"en","value":"For deployments that cannot upgrade but are running behind a reverse proxy, configure the proxy to reject requests above a maxiumum Content-Length."}],"x_generator":{"engine":"cpansec-cna-tool 0.1"}},"adp":[{"title":"CVE Program Container","references":[{"url":"http://www.openwall.com/lists/oss-security/2026/10/24/4"}],"providerMetadata":{"shortName":"CVE","orgId":"af854a3a-2127-422b-91ae-364da2661108","dateUpdated":"2026-10-24T16:06:39.380Z"}}]}}}