Vulnerability · Published Nov 3, 2026 · Assigned by CPANSec
CVE-2026-120651CGI versions before 5.00 for Perl allow an infinite loop on a short request body when $DISABLE_UPLOADS is set
Unrated
In plain English
A infinite loop in CGI. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.2% (higher than 8% of all known vulnerabilities).
Official description
CGI versions before 5.00 for Perl allow an infinite loop on a short request body when $DISABLE_UPLOADS is set. When $CGI::PUTDATA_UPLOAD or an upload hook is set, read_postdata_putdata takes a request body that is not a form submission. With $CGI::DISABLE_UPLOADS set, it discards the body by reading until Content-Length bytes have arrived. Once a body shorter than its Content-Length runs out, every read returns 0, so the loop never ends. A client can keep a server process spinning with one such request.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian:12 | libcgi-pm-perl | no fix listed | DEBIAN-CVE-2026-120651 |
| Debian:13 | libcgi-pm-perl | no fix listed | DEBIAN-CVE-2026-120651 |
| Debian:14 | libcgi-pm-perl | no fix listed | DEBIAN-CVE-2026-120651 |
| Ubuntu:22.04:LTS | libcgi-pm-perl | no fix listed | UBUNTU-CVE-2026-120651 |
| Ubuntu:24.04:LTS | libcgi-pm-perl | no fix listed | UBUNTU-CVE-2026-120651 |
| Ubuntu:26.04:LTS | libcgi-pm-perl | no fix listed | UBUNTU-CVE-2026-120651 |
| Ubuntu:26.10 | libcgi-pm-perl | no fix listed | UBUNTU-CVE-2026-120651 |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| CGI | 0 – before 5.00 |
Weakness: CWE-835
References
- https://metacpan.org/release/LEEJO/CGI-4.72/source/lib/CGI.pm technical-description
- https://metacpan.org/release/LEEJO/CGI-5.00/changes release-notes
- https://github.com/leejo/CGI.pm/commit/16d9f61acf8b844b7360e8d726338e3ce34dfa9f.patch patch
- https://github.com/leejo/CGI.pm/commit/8a78305065690461ae283fa24e5ebe4ec8a22fbc.patch patch