Track vulnerabilities like this one. Sign up free to get alerted when software you use is affected.
6.1

CVE-2026-19872: HTML::FormHandler <0.410000 can run script in error output

CVE-2026-19872 · published 1 month ago
Summary

Versions of the HTML::FormHandler Perl library older than 0.410000 may show a user‑submitted value in an error message without cleaning it first. An attacker who sends a crafted form can make the malicious code appear in the page, potentially executing in the user’s browser. Upgrade to version 0.410000 or later, or ensure that error messages are properly escaped before being displayed.

What to do
  • Update debian libhtml-formhandler-perl to version 0.410002-1.
Affected software
Ecosystem VendorProductAffected versions
Debian:12 debian libhtml-formhandler-perl All versions
Ubuntu:16.04:LTS canonical libhtml-formhandler-perl All versions
Debian:14 debian libhtml-formhandler-perl < 0.410002-1
Fix: upgrade to 0.410002-1
Original advisory text
HTML::FormHandler versions before 0.410000 for Perl allow cross-site scripting via a submitted value rendered unescaped in an error message
HTML::FormHandler versions before 0.410000 for Perl allow cross-site scripting via a submitted value rendered unescaped in an error message. The wrappers and renderers that emit a form's errors interpolate the error string straight into HTML with no escaping. Two of the library's own messages, no_match and not_allowed, splice the submitted value into that string, and a failing type constraint puts the rejected value into the message it builds, which _apply_actions hands to add_error. A field declared with a check regexp, a check list or a type constraint reaches those messages, with no custom validator and no non-default configuration. Errors rendered through an application's own escaping template layer rather than the library's rendering roles are not affected. A request over the network that submits markup to such a field gets it back live inside the error span, running script in the victim's origin. Re-rendering a rejected value later gives the stored variant.
Fix within
Internet-facing 60 days
Internal At next upgrade
  • Not known to be exploited
  • Needs hands-on effort to exploit
  • Gives an attacker partial control
Severity
6.1 Medium
Exploitation
<1% chance of attack within 30 days
Type
CWE-79Cross-site Scripting (XSS)
Timeline
Published8 Sep 2026
Updated31 Oct 2026
First seen8 Sep 2026
Track software like this
Free during beta