CVE-2026-120633 PUBLISHED

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

Assigner: CPANSec
Reserved: 02.11.2026 Published: 03.11.2026 Updated: 03.11.2026

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.

Product Status

Package Collection https://cpan.org/modules
Package Name CGI
Versions Default: unaffected
  • affected from 0 to 5.00 (excl.)

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.

Solutions

Upgrade to CGI 5.00 or later.

References

Problem Types

  • CWE-348 Use of Less Trusted Source CWE
  • CWE-601 URL Redirection to Untrusted Site ('Open Redirect') CWE