Description
Web::Simple versions before 0.036 for Perl do not escape values interpolated into double-quoted strings in HTML::Tags output.

Under use HTML::Tags or use XML::Tags, a double-quoted string literal becomes a StringThing object that holds each interpolated value as a separate part. The escaping step passes such objects through, and stringify joins their interpolated parts as is. A value passed on its own, as in <p>, $value, </p>, is entity-escaped, but the same value in "Hello $value" is not.

An attacker who controls a value that an application interpolates into a double-quoted string can inject script into the generated page.
Published: 2026-11-04
Score: n/a
EPSS: n/a
KEV: No
Impact: Client‑side script execution (XSS)
Action: Patch Immediately
AI Analysis

Impact

The vulnerability arises when Web::Simple generates HTML from double‑quoted template strings that contain user-controlled interpolations. The library passes StringThing objects through the escaping routine, but when those objects are joined within a double‑quoted string the interpolated values are not entity escaped. An attacker who can inject a value into such a string can embed arbitrary JavaScript, causing cross‑site scripting on any user who views the page. The flaw corrupts input sanitization and leaves the application susceptible to client‑side code execution.

Affected Systems

Perl Web::Simple modules released by the ETHER project that use the Web::Simple package before version 0.036 are affected. All releases from the project’s initial launch up to, but excluding, 0.036 contain the flaw. The updated package, starting with 0.036, implements proper escaping for interpolated values in double‑quoted strings.

Risk and Exploitability

Because the flaw manifests only when an application forwards attacker-controlled input into a double‑quoted string, the attack surface depends on template usage. No EPSS score is available and the vulnerability is not on the CISA KEV list, suggesting limited exploitation in the wild. However, the potential impact of unescaped JavaScript is significant: an attacker could hijack user sessions, steal credentials, or deliver phishing content. The CVSS base score would likely be in the medium to high range for an application exposed to the public internet. The absence of a current exploit in known deployments does not eliminate the risk; the flaw remains patent and exploitable.

Generated by OpenCVE AI on November 4, 2026 at 15:25 UTC.

Remediation

Vendor Solution

Upgrade to Web-Simple 0.036 or later.


OpenCVE Recommended Actions

  • Upgrade to Web::Simple 0.036 or later
  • If an immediate upgrade is not possible, avoid embedding user input into double‑quoted template strings or manually escape the input before interpolation
  • Validate or sanitize all user‑supplied content before passing it to Web::Simple, ensuring that all data displayed in the browser is context‑appropriate and properly encoded

Generated by OpenCVE AI on November 4, 2026 at 15:25 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

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

Type Values Removed Values Added
Description Web::Simple versions before 0.036 for Perl do not escape values interpolated into double-quoted strings in HTML::Tags output. Under use HTML::Tags or use XML::Tags, a double-quoted string literal becomes a StringThing object that holds each interpolated value as a separate part. The escaping step passes such objects through, and stringify joins their interpolated parts as is. A value passed on its own, as in <p>, $value, </p>, is entity-escaped, but the same value in "Hello $value" is not. An attacker who controls a value that an application interpolates into a double-quoted string can inject script into the generated page.
Title Web::Simple versions before 0.036 for Perl do not escape values interpolated into double-quoted strings in HTML::Tags output
Weaknesses CWE-79
References

Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: CPANSec

Published:

Updated: 2026-11-04T14:31:13.299Z

Reserved: 2026-10-21T21:43:01.842Z

Link: CVE-2026-114627

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-11-04T15:17:35.167

Modified: 2026-11-04T15:17:35.167

Link: CVE-2026-114627

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-11-04T15:30:09Z

Weaknesses
  • CWE-79

    Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')