{ "document": { "aggregate_severity": { "text": "medium" }, "category": "csaf_security_advisory", "csaf_version": "2.0", "distribution": { "tlp": { "label": "WHITE", "url": "https://www.first.org/tlp/" } }, "lang": "en", "notes": [ { "category": "description", "text": "HTML::FormHandler versions before 0.410000 for Perl allow cross-site scripting via a submitted value rendered unescaped in an error message.\n\nThe 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.\n\nA 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.\n\nA 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.", "title": "Vulnerability Description" } ], "publisher": { "category": "other", "contact_details": "gdt@cpan.org", "name": "giterlizzi", "namespace": "https://github.com/giterlizzi/" }, "references": [ { "category": "self", "summary": "CPANSA-HTML-FormHandler-2026-19872 JSON", "url": "https://raw.githubusercontent.com/giterlizzi/perl-CPANSA-CSAF/develop/csaf/white/2026/cpansa-html-formhandler-2026-19872.json" }, { "category": "external", "summary": "https://github.com/gshank/html-formhandler/commit/2574fdb4561f5c32d44cfbfbb3188345d49eb5a2.patch", "url": "https://github.com/gshank/html-formhandler/commit/2574fdb4561f5c32d44cfbfbb3188345d49eb5a2.patch" }, { "category": "external", "summary": "https://metacpan.org/release/ABRAXXA/HTML-FormHandler-0.410000/changes", "url": "https://metacpan.org/release/ABRAXXA/HTML-FormHandler-0.410000/changes" }, { "category": "external", "summary": "http://www.openwall.com/lists/oss-security/2026/09/08/15", "url": "http://www.openwall.com/lists/oss-security/2026/09/08/15" }, { "category": "external", "summary": "CVE-2026-19872 (NVD)", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-19872" } ], "title": "HTML-FormHandler vulnerability", "tracking": { "current_release_date": "2026-09-08T00:00:00", "generator": { "engine": { "name": "CSAF Perl Toolkit", "version": "0.26" } }, "id": "CPANSA-HTML-FormHandler-2026-19872", "initial_release_date": "2026-09-08T00:00:00", "revision_history": [ { "date": "2026-09-08T00:00:00", "number": "1", "summary": "First release" } ], "status": "final", "version": "1" } }, "product_tree": { "branches": [ { "branches": [ { "category": "product_version_range", "name": "vers:cpan/<0.410000", "product": { "name": "HTML-FormHandler less than 0.410000", "product_id": "CSAFPID-0001", "product_identification_helper": { "purl": "pkg:cpan/HTML-FormHandler" } } }, { "category": "product_version_range", "name": "vers:cpan/>=0.410000", "product": { "name": "HTML-FormHandler greater than or equal 0.410000", "product_id": "CSAFPID-0002", "product_identification_helper": { "purl": "pkg:cpan/HTML-FormHandler" } } } ], "category": "product_name", "name": "HTML-FormHandler" } ] }, "vulnerabilities": [ { "cve": "CVE-2026-19872", "cwe": { "id": "CWE-79", "name": "Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')" }, "notes": [ { "category": "description", "text": "HTML::FormHandler versions before 0.410000 for Perl allow cross-site scripting via a submitted value rendered unescaped in an error message.\n\nThe 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.\n\nA 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.\n\nA 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.", "title": "Vulnerability Description" } ], "product_status": { "fixed": [ "CSAFPID-0002" ], "known_affected": [ "CSAFPID-0001" ] }, "scores": [ { "cvss_v3": { "baseScore": 6.1, "baseSeverity": "MEDIUM", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N", "version": "3.1" }, "products": [ "CSAFPID-0001" ] } ] } ] }