---
id: CVE-2026-120633
title: >-
  CGI versions before 5.00 for Perl trust the client X-Forwarded-Host header in
  url, self_url, virtual_host and virtual_port
summary: >-
  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…
severity: none
cwe:
  - CWE-348
  - CWE-601
product: CGI
affected:
  - CGI < 5.00
published: '2026-11-03'
updated: '2026-11-03'
sourceUpdated: '2026-11-03T23:40:04.604Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-120633'
references:
  - url: 'https://metacpan.org/release/LEEJO/CGI-4.72/source/lib/CGI.pm'
  - url: 'https://metacpan.org/release/LEEJO/CGI-5.00/changes'
  - url: >-
      https://github.com/leejo/CGI.pm/commit/d76752a5e8dfd365b0fe3a0b9a7da6c054e856af.patch
tags:
  - cve.org
epss: 0.00131
epssPercentile: 0.02694
ingestedAt: '2026-11-05T20:33:06.614Z'
---

## Overview

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.

## Affected

- `CGI < 5.00`

## Remediation

Upgrade to CGI 5.00 or later.

### Workarounds

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