# CVE-2026-120648: Perl CGI HTML injection via comment delimiter

Source: https://junglewise.ai/threats/cve-2026-120648-cgi-versions-before-5-00-for-perl-allow-html-injection-via-text  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-11-04. Updated: 2026-11-04  
License: CC BY 4.0 with a link back

CVE-2026-120648 · Severity: info · Published 2026-11-04

The CGI module for Perl, which generates HTML markup for web applications, fails to properly escape text passed to its comment() function. An attacker can inject arbitrary HTML into web pages by crafting input containing the "-->" sequence, which prematurely closes the HTML comment tag and allows injection of scripts or other malicious markup. This affects web applications that pass user-controlled data directly to CGI's comment function.

Technologies: [Perl CGI](https://junglewise.ai/threats/technologies/perl-cgi). Vendors: [Perl](https://junglewise.ai/threats/vendors/perl).

## Quick answers

**Is CVE-2026-120648 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-120648 being exploited in the wild.

**How severe is CVE-2026-120648?** Informational severity, published 4 November 2026.

**Which products and versions are affected?** Perl CGI before 5.00.

**Is there a fix for CVE-2026-120648?** Yes: fixed in 5.00. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-120648 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-120648?** Check whether you run Perl CGI at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- Fixed in 5.00

## Technical details

The CGI module's comment() function wraps text in HTML comment delimiters (<!-- -->) without escaping the text first, allowing sequences like "-->" or "<!--" to break out of or manipulate the comment structure. An attacker can provide input like "text--><script>alert(1)</script>" which closes the comment early and injects markup. The fix, available in CGI 5.00, replaces all "--" sequences with "- -" (dash-space-dash) to prevent any comment-terminating sequences.

## Affected products

- Perl CGI before 5.00

## Timeline

- 2026-11-04: disclosed
- 2026-11-02: patched

## References

- [https://cpan.org/modules](https://cpan.org/modules)
- [https://github.com/leejo/CGI.pm/commit/6a17eb84703d84bca86b0079f5870ca9c921ffd4.patch](https://github.com/leejo/CGI.pm/commit/6a17eb84703d84bca86b0079f5870ca9c921ffd4.patch)

## Related threats

- [Perl CGI infinite loop in read_postdata_putdata with disabled uploads](https://junglewise.ai/threats/cve-2026-120651-cgi-versions-before-5-00-for-perl-allow-an-infinite-loop-on-a)
- [CGI for Perl resource exhaustion via missing upload limits](https://junglewise.ai/threats/cve-2026-120650-cgi-versions-before-5-00-for-perl-allow-memory-cpu-and-disk)
- [Perl CGI header attachment parameter injection](https://junglewise.ai/threats/cve-2026-120647-cgi-versions-before-5-00-for-perl-allow-content-disposition)
- [Perl CGI cross-site scripting in url and self_url](https://junglewise.ai/threats/cve-2026-120643-cgi-versions-from-4-62-before-5-00-for-perl-allow-cross-site)
- [Perl CGI taint bypass via request-derived values](https://junglewise.ai/threats/cve-2026-120642-cgi-versions-before-5-00-for-perl-return-request-derived-values)
