CPANSA-HTML-FormHandler-2026-19872: HTML-FormHandler vulnerability
| Publisher | giterlizzi | Document category | csaf_security_advisory |
|---|---|---|---|
| Initial release date | 2026-09-08T00:00:00 | Engine | CSAF Perl Toolkit 0.26 |
| Current release date | 2026-09-08T00:00:00 | Build Date | |
| Current version | 1 | Status | final |
| CVSS v3.1 Base Score | 6.1 | Severity | Medium |
| Original language | Language | en | |
| Also referred to | |||
Vulnerability Description
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.
Vulnerabilities
CVE-2026-19872
Vulnerability DescriptionHTML::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.
| Weakness | CWE-79 : Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') |
|---|
Product status
Known affected
| Product | Score | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| HTML-FormHandler less than 0.410000 |
|
Fixed
- HTML-FormHandler greater than or equal 0.410000
giterlizzi
Namespace: https://github.com/giterlizzi/
gdt@cpan.org
References
- CPANSA-HTML-FormHandler-2026-19872 JSON self
https://raw.githubusercontent.com/giterlizzi/perl-CPANSA-CSAF/develop/csaf/white/2026/cpansa-html-formhandler-2026-19872.json - https://github.com/gshank/html-formhandler/commit/2574fdb4561f5c32d44cfbfbb3188345d49eb5a2.patch external
https://github.com/gshank/html-formhandler/commit/2574fdb4561f5c32d44cfbfbb3188345d49eb5a2.patch - https://metacpan.org/release/ABRAXXA/HTML-FormHandler-0.410000/changes external
https://metacpan.org/release/ABRAXXA/HTML-FormHandler-0.410000/changes - http://www.openwall.com/lists/oss-security/2026/09/08/15 external
http://www.openwall.com/lists/oss-security/2026/09/08/15 - CVE-2026-19872 (NVD) external
https://nvd.nist.gov/vuln/detail/CVE-2026-19872
Revision history
| Version | Date of the revision | Summary of the revision |
|---|---|---|
| 1 | Tue Sep 8 00:00:00 2026 | First release |
Sharing rules
TLP:WHITE
For the TLP version see: https://www.first.org/tlp/