Description
CGI versions before 5.00 for Perl trust the client X-Forwarded-Host header in url, self_url, virtual_host and virtual_port.

These take the host name and port from the X-Forwarded-Host request header when present, and otherwise from Host, without validating either. The URLs from url and self_url are the default redirect location and the start_html(-base=>1) base href, and the default start_form action when REQUEST_URI is not set.

A client can poison shared caches, and URLs the application stores or sends, with redirects, links and scripts that point at a host it controls.
Published: 2026-11-03
Score: 6.1 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Remote Cache Poisoning and Redirect
Action: Patch Immediately
AI Analysis

Impact

CGI.pm versions before 5.00 trust a client‑supplied X‑Forwarded‑Host header when constructing URLs in functions such as url, self_url, virtual_host, and virtual_port without validation. These generated URLs are used as redirect destinations, the base href for HTML output, and the default form action. As a result, an attacker can supply a forged host value that will be embedded in these URLs. The application will then store or send URLs that point to an attacker‑controlled domain, enabling cache poisoning and forced navigation to malicious sites.

Affected Systems

Any deployment that uses the Perl CGI.pm library older than version 5.00, including web applications written in Perl that rely on CGI.pm for URL generation, base href setting, and form action handling.

Risk and Exploitability

The flaw can be exploited remotely via standard HTTP or HTTPS requests. An attacker with network visibility can craft a request containing a malicious X‑Forwarded‑Host header; the likely attack vector is a crafted HTTP request from an external client. Because the vulnerability does not require authentication or privileged access, it is broadly exploitable. EPSS score is not available and the vulnerability is not listed in the CISA KEV catalog. The CVSS score of 6.1 indicates moderate severity. The remote nature of the exploit enables widespread cache poisoning or forced navigation to attacker‑controlled domains, representing a high‑risk impact on confidentiality and integrity of cached content and user traffic.

Generated by OpenCVE AI on November 4, 2026 at 13:43 UTC.

Remediation

Vendor Solution

Upgrade to CGI 5.00 or later.


Vendor Workaround

For deployments that cannot upgrade, strip X-Forwarded-Host at the web server or proxy unless it sets the header itself, and validate Host.


OpenCVE Recommended Actions

  • Update CGI.pm to version 5.00 or later, which removes the unvalidated use of the X‑Forwarded‑Host header in URL construction.
  • If an upgrade cannot be performed, configure the reverse proxy or web server to strip any incoming X‑Forwarded‑Host header unless the proxy sets it itself, and enforce validation on the Host header before CGI.pm uses it.
  • Consider disabling CGI.pm's use of the X‑Forwarded‑Host header in URL construction via a temporary patch or environment configuration that forces the module to use only a verified Host value.

Generated by OpenCVE AI on November 4, 2026 at 13:43 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 04 Nov 2026 12:15:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

cvssV3_1

{'score': 6.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N'}

threat_severity

Moderate


Wed, 04 Nov 2026 00:00:00 +0000

Type Values Removed Values Added
Description CGI versions before 5.00 for Perl trust the client X-Forwarded-Host header in url, self_url, virtual_host and virtual_port. These take the host name and port from the X-Forwarded-Host request header when present, and otherwise from Host, without validating either. The URLs from url and self_url are the default redirect location and the start_html(-base=>1) base href, and the default start_form action when REQUEST_URI is not set. A client can poison shared caches, and URLs the application stores or sends, with redirects, links and scripts that point at a host it controls.
Title CGI versions before 5.00 for Perl trust the client X-Forwarded-Host header in url, self_url, virtual_host and virtual_port
Weaknesses CWE-348
CWE-601
References

Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: CPANSec

Published:

Updated: 2026-11-03T23:40:04.604Z

Reserved: 2026-11-02T17:40:07.895Z

Link: CVE-2026-120633

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-11-04T00:17:24.450

Modified: 2026-11-04T00:17:24.450

Link: CVE-2026-120633

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-11-03T23:40:04Z

Links: CVE-2026-120633 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-11-04T13:45:14Z

Weaknesses
  • CWE-348

    Use of Less Trusted Source

  • CWE-601

    URL Redirection to Untrusted Site ('Open Redirect')