CVE-2026-120641 json
CGI versions before 5.00 for Perl return upload filenames with any client-supplied path, including ../ and Windows paths
published 2026-11-03 5 d ago modified 2026-11-04 4 d ago also EUVD-2026-116608
- 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 9%
- public exploits
- 0
- none known
Summary
CGI versions before 5.00 for Perl return upload filenames with any client-supplied path, including ../ and Windows paths.
The name returned for an uploaded file is the filename parameter of the part's Content-Disposition header, unchanged.
An application that saves the upload under this name can be made to write outside the intended directory.
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-120641 updated cvss 7.5
perl-cgi: perl-cgi: arbitrary file write via unsanitized upload 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.el10affected: workaround, no fix available
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.20% chance of exploitation in the next 30 days, higher than 9% of all scored CVEs (FIRST EPSS, 2026-11-08).
Classification
- Weakness
-
- CWE-22 Improper Limitation of a Pathname to a Restricted Directory
References
-
github.com
/leejo/CGI.pm/commit/5379eb18e87b7f985613f5c4f7bae94478a4fa2f.patch
patch
-
metacpan.org
/release/LEEJO/CGI-4.72/source/lib/CGI.pm
technical-description
-
metacpan.org
/release/LEEJO/CGI-5.00/changes
release-notes
Sources
- CVE List CVE-2026-120641
- NVD CVE-2026-120641
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.