Skip to content
Fencer Vulns
no cvss —

CVE-2026-120651 json

CGI versions before 5.00 for Perl allow an infinite loop on a short request body when $DISABLE_UPLOADS is set

published 2026-11-03 5 d ago modified 2026-11-04 4 d ago also EUVD-2026-116617

cvss
—
not scored
cisa kev
Not listed
not in CISA's catalog
epss
0.2%
EPSS 0.2% chance of exploitation in 30 days, percentile 7%
public exploits
0
none known

Summary

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.

Patch / fix

  • perl-CGI openSUSE Tumbleweed 5.20.0-1.1

opensuse advisories openSUSE-SU-2026:12465-1

Vendor advisories

What the vendors themselves say about their products: affected, fixed or not affected, and what to do.

red hat product security vex CVE-2026-120651 updated cvss 5.3

perl-cgi: perl-cgi: Denial of Service via truncated request body

  • Red Hat Enterprise Linux 7 perl-CGI 4.61-5.el10 Red Hat Enterprise Linux 8 perl-CGI 4.61-5.el10 Red Hat Enterprise Linux 9 perl-CGI 4.61-5.el10 Red Hat Enterprise Linux 10 perl-CGI 4.61-5.el10
    affected: workaround, no fix available “Fix deferred”

Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf

Exploit prediction

0.18% chance of exploitation in the next 30 days, higher than 7% of all scored CVEs (FIRST EPSS, 2026-11-08).

Classification

Weakness
  • CWE-835 Loop with Unreachable Exit Condition

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.