CVE-2026-120638
CGI versions before 5.00 for Perl allow open redirects via HTML entity decoding of the URL after application validation in redirect
CGI versions before 5.00 for Perl allow open redirects via HTML entity decoding of the URL after application validation in redirect.
redirect decodes HTML entities in its URL before writing the Location header, so a URL the application has already validated can change meaning. For example, //evil.example/ becomes //evil.example/ and sends the user to another host.
Exploit likelihood
What each source reports
CVE List No score
CGI versions before 5.00 for Perl allow open redirects via HTML entity decoding of the URL after application validation in redirect
CGI versions before 5.00 for Perl allow open redirects via HTML entity decoding of the URL after application validation in redirect.
redirect decodes HTML entities in its URL before writing the Location header, so a URL the application has already validated can change meaning. For example, //evil.example/ becomes //evil.example/ and sends the user to another host.
- Record
CVE-2026-120638- Weakness
- CWE-180, CWE-601
- Updated
- 2026-11-04
EUVDEUVD-2026-116605 No score
CGI versions before 5.00 for Perl allow open redirects via HTML entity decoding of the URL after application validation in redirect.
redirect decodes HTML entities in its URL before writing the Location header, so a URL the application has already validated can change meaning. For example, //evil.example/ becomes //evil.example/ and sends the user to another host.
- Record
EUVD-2026-116605- Updated
- 2026-11-04
GitHub AdvisoriesGHSA-33j8-q94p-w495 No score
CGI versions before 5.00 for Perl allow open redirects via HTML entity decoding of the URL after...
CGI versions before 5.00 for Perl allow open redirects via HTML entity decoding of the URL after application validation in redirect.
redirect decodes HTML entities in its URL before writing the Location header, so a URL the application has already validated can change meaning. For example, //evil.example/ becomes //evil.example/ and sends the user to another host.
- Record
GHSA-33j8-q94p-w495- Weakness
- CWE-180
- Updated
- 2026-11-04
NVD No score
CGI versions before 5.00 for Perl allow open redirects via HTML entity decoding of the URL after application validation in redirect.
redirect decodes HTML entities in its URL before writing the Location header, so a URL the application has already validated can change meaning. For example, //evil.example/ becomes //evil.example/ and sends the user to another host.
- Record
CVE-2026-120638- Weakness
- CWE-180, CWE-601
- Updated
- 2026-11-04
OSVAZL-112804 No score
CVE-2026-120638 affecting package perl-CGI 4.60-1
CGI versions before 5.00 for Perl allow open redirects via HTML entity decoding of the URL after application validation in redirect.
redirect decodes HTML entities in its URL before writing the Location header, so a URL the application has already validated can change meaning. For example, //evil.example/ becomes //evil.example/ and sends the user to another host.
- Record
AZL-112804- Updated
- 2026-11-07
OSV No score
CGI versions before 5.00 for Perl allow open redirects via HTML entity decoding of the URL after application validation in redirect
CGI versions before 5.00 for Perl allow open redirects via HTML entity decoding of the URL after application validation in redirect.
redirect decodes HTML entities in its URL before writing the Location header, so a URL the application has already validated can change meaning. For example, //evil.example/ becomes //evil.example/ and sends the user to another host.
- Record
CVE-2026-120638- Weakness
- CWE-180, CWE-601
- Updated
- 2026-11-07
OSVDEBIAN-CVE-2026-120638 No score
CGI versions before 5.00 for Perl allow open redirects via HTML entity decoding of the URL after application validation in redirect. redirect decodes HTML entities in its URL before writing the Location header, so a URL the application has already validated can change meaning. For example, //evil.example/ becomes //evil.example/ and sends the user to another host.
- Record
DEBIAN-CVE-2026-120638- Updated
- 2026-11-05
OSVopenSUSE-SU-2026:12465-1 No score
perl-CGI-5.20.0-1.1 on GA media
These are all security issues fixed in the perl-CGI-5.20.0-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:12465-1- Updated
- 2026-11-07
OSVUBUNTU-CVE-2026-120638 No score
CGI versions before 5.00 for Perl allow open redirects via HTML entity decoding of the URL after application validation in redirect. redirect decodes HTML entities in its URL before writing the Location header, so a URL the application has already validated can change meaning. For example, //evil.example/ becomes //evil.example/ and sends the user to another host.
- Record
UBUNTU-CVE-2026-120638- Updated
- 2026-11-05
Affected packages
| Package | Affected | Fixed |
|---|---|---|
perl-CGIAzure Linux:3 |
through 4.60-1 | None known |
libcgi-pm-perlDebian:12 |
All versions, plus listed versions 4.55-14.57-14.59-14.60-14.61-1 Show 11 moreShow less4.62-14.63-14.64-14.65-14.66-14.67-14.68-14.70-14.71-14.72-15.02-1 |
None known |
libcgi-pm-perlDebian:13 |
All versions, plus listed versions 4.68-14.70-14.71-14.72-15.02-1 |
None known |
libcgi-pm-perlDebian:14 |
All versions, plus listed versions 4.68-14.70-14.71-14.72-15.02-1 |
None known |
libcgi-pm-perlUbuntu:16.04:LTS |
All versions, plus listed versions 4.21-14.22-14.25-14.26-1 |
None known |
libcgi-pm-perlUbuntu:18.04:LTS |
All versions, plus listed versions 4.36-14.37-14.38-1 |
None known |
libcgi-pm-perlUbuntu:20.04:LTS |
All versions, plus listed versions 4.44-14.45-14.46-1 |
None known |
libcgi-pm-perlUbuntu:22.04:LTS |
All versions, plus listed versions 4.51-14.53-14.54-1 |
None known |
libcgi-pm-perlUbuntu:24.04:LTS |
All versions, plus listed versions 4.57-14.60-14.61-14.62-14.63-1 |
None known |
libcgi-pm-perlUbuntu:26.10 |
All versions, plus listed versions 4.71-1build14.72-1 |
None known |
libcgi-pm-perlUbuntu:26.04:LTS |
All versions, plus listed versions 4.68-14.71-14.71-1build1 |
None known |
perl-CGIopenSUSE:Tumbleweed From an advisory covering 20 CVEs |
before 5.20.0-1.1 | 5.20.0-1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, aliases, references | OSV | |
| affected, aliases, references | OSV | |
| affected, aliases, references | NVD, OSV | |
| references | OSV | |
| affected, aliases, references | OSV | |
| aliases | EUVD, NVD | |
| first indexed | CVE List, GitHub Advisories |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-120638 is a vulnerability with no CVSS score yet in perl-CGI, published November 3, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.18%, the 7th percentile. No source names a fixed version.
References
metacpan.org/release/LEEJO/CGI-4.72/source/lib/CGI.pm
metacpan.org/release/LEEJO/CGI-5.00/changes
github.com/leejo/CGI.pm/commit/7733c2753f4f240012097507cda2b6e87ae46db4.patch
nvd.nist.gov/vuln/detail/CVE-2026-120638
github.com/advisories/GHSA-33j8-q94p-w495
cpan.org/modules
Show 27 moreShow less
github.com/CVEProject/cvelistV5/tree/main/cves/2026/120xxx/CVE-2026-120638.json
github.com/leejo/CGI.pm
security-tracker.debian.org/tracker/CVE-2026-120638
ubuntu.com/security/CVE-2026-120638
cve.org/CVERecord?id=CVE-2026-120638
lists.security.metacpan.org/cve-announce/msg/44874824
github.com/leejo/CGI.pm/commit/7733c2753f4f240012097507cda2b6e87ae46db4
suse.com/security/cve/CVE-2026-120631
suse.com/security/cve/CVE-2026-120632
suse.com/security/cve/CVE-2026-120633
suse.com/security/cve/CVE-2026-120634
suse.com/security/cve/CVE-2026-120635
suse.com/security/cve/CVE-2026-120636
suse.com/security/cve/CVE-2026-120637
suse.com/security/cve/CVE-2026-120638
suse.com/security/cve/CVE-2026-120639
suse.com/security/cve/CVE-2026-120640
suse.com/security/cve/CVE-2026-120641
suse.com/security/cve/CVE-2026-120642
suse.com/security/cve/CVE-2026-120643
suse.com/security/cve/CVE-2026-120644
suse.com/security/cve/CVE-2026-120645
suse.com/security/cve/CVE-2026-120646
suse.com/security/cve/CVE-2026-120647
suse.com/security/cve/CVE-2026-120648
suse.com/security/cve/CVE-2026-120650
suse.com/security/cve/CVE-2026-120651