Skip to content
Fencer Vulns
no cvss —

CVE-2026-120647 json

CGI versions before 5.00 for Perl allow Content-Disposition parameter injection via unescaped double quotes in the header attachment filename

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

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 10%
public exploits
0
none known

Summary

CGI versions before 5.00 for Perl allow Content-Disposition parameter injection via unescaped double quotes in the header attachment filename.

header(-attachment => $name) writes $name into the quoted filename parameter of Content-Disposition without escaping double quotes.

An application that passes request data as the attachment name can be made to send a second filename parameter, changing the name the response is saved under.

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-120647 updated cvss 4.3

perl-cgi: perl-cgi: Content-Disposition parameter injection via unescaped double quotes in attachment filenames

  • 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: 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.21% chance of exploitation in the next 30 days, higher than 10% of all scored CVEs (FIRST EPSS, 2026-11-08).

Classification

Weakness
  • CWE-116 Improper Encoding or Escaping of Output

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.