Description
HTTP::Server::PSGI versions before 1.0056 for Perl allow a single request to crash the server by declaring a large Content-Length.
The request body is read with sysread() calls sized by the remaining Content-Length. Perl grows the read buffer to the requested length before any data arrives, so the server tries to allocate as much memory as the client declares.
A remote attacker can send one request with a large Content-Length and a few body bytes, and perl exits with an out-of-memory error before the application is called. HTTP::Server::PSGI runs as a single process, so the server stays down until restarted.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| — | Plack | < 1.0056 | 1.0056 |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | libplack-perl | 1.0057-1 | — |
| Debian 13 | libplack-perl | No fix yet | — |
| Debian 12 | libplack-perl | No fix yet | — |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Tumbleweed | perl-Plack | 1.0057-1.1 | openSUSE-SU-2026:12275-1 |
Advisories 1
- openSUSE-SU-2026:12275-1 perl-Plack-1.0057-1.1 on GA media SUSE / openSUSE Security Updates · Oct 27, 2026