Description
Form::Processor::Field::HtmlArea versions from 0.06 through 1.162360 for Perl allow attacker selected method dispatch and resource exhaustion via an HTML::Tidy diagnostic that validate passes to add_error as a Locale::Maketext template.

validate runs HTML::Tidy over the submitted markup and passes each resulting message to add_error as its first argument, which add_error hands to the language handle as the Locale::Maketext message key. The default handle's lexicon sets `_AUTO`, so a message that is not a lexicon entry is compiled as a bracket notation template instead of being looked up. Tidy diagnostics quote the offending attribute name or value, so a bracket group in the submitted markup reaches the template position, where the first token of the group names a method called on the language handle and the remaining tokens are its arguments. A group such as `[0]` makes the compile croak, and neither the field nor the handle catches it, so the exception leaves validate. `[sprintf,%2000000000d,7]` reaches CORE::sprintf with an attacker chosen field width.

One submission of crafted markup to an HtmlArea field throws an unhandled exception out of form validation or allocates an arbitrary amount of memory, and an application whose language handle subclass defines side effecting public methods makes those callable with attacker chosen arguments. The other field types pass fixed templates with the submitted value in an argument slot, where it stays inert, and are unaffected.
Published: 2026-08-13
Score: 9.1 Critical
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

A flaw in the Perl module Form::Processor::Field::HtmlArea, affecting versions 0.06 through 1.162360, allows an attacker to craft form input that triggers the HTML::Tidy parser. Diagnostic messages produced by HTML::Tidy are passed to the module’s add_error routine as keys to a Locale::Maketext language handle. When the key is not found in the lexicon, the default handling treats it as a bracket‑notation template, which an attacker can manipulate to invoke arbitrary methods on the language handle or to invoke CORE::sprintf with an attacker‑chosen width. This can lead to unhandled exceptions, denial of service from excessive memory allocation, or execution of unintended code if the language handle implements public side‑effecting methods.

Affected Systems

The vulnerability targets Perl applications that install the Form-Processor distribution, specifically the Form::Processor::Field::HtmlArea component, in any release from 0.06 to 1.162360. Applications that enable the HtmlArea field type and supply a custom Locale::Maketext language handle are at risk. No other Form-Processor field types are impacted by this flaw.

Risk and Exploitability

Exploitation requires the submission of intentionally crafted markup to a form containing an HtmlArea field. An attacker can provoke a crash or memory exhaustion, and if the language handle exposes unsafe public methods, arbitrary code may be executed. The CVSS score of 9.1 reflects the high severity, while the EPSS score of less than 1% suggests a low likelihood of widespread exploitation observed in the wild. The vulnerability is not listed in CISA KEV, but the presence of remote code execution and denial‑of‑service potential warrants immediate remediation.

Generated by OpenCVE AI on August 14, 2026 at 20:29 UTC.

Remediation

Vendor Workaround

No fixed release is available, and the distribution has not been updated since 2016. Apply the patch, which passes the tidy message as an interpolation argument so its brackets are displayed rather than compiled. Deployments that cannot patch should not use the HtmlArea field type.


OpenCVE Recommended Actions

  • Apply the vendor‑supplied patch CVE-2026-13051‑r1.patch to treat tidy diagnostic messages as interpolation arguments, thereby preventing template compilation and method dispatch vulnerabilities.
  • If the patch cannot be applied, remove or disable the HtmlArea field type from all forms to eliminate the exposure to the vulnerable method dispatch mechanism.
  • Review the custom Locale::Maketext language handle used by the application and restrict or remove any public methods that have side effects, which mitigates the potential for arbitrary code execution (CWE‑470).
  • Implement strict input validation on all form submissions so that untrusted input cannot trigger malformed diagnostic messages, addressing the underlying source of the vulnerability (CWE‑1336).

Generated by OpenCVE AI on August 14, 2026 at 20:29 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 14 Aug 2026 19:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Fri, 14 Aug 2026 18:30:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 9.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N'}


Fri, 14 Aug 2026 13:00:00 +0000

Type Values Removed Values Added
First Time appeared Hank
Hank form Processor
Vendors & Products Hank
Hank form Processor

Thu, 13 Aug 2026 16:45:00 +0000

Type Values Removed Values Added
Description Form::Processor::Field::HtmlArea versions from 0.06 through 1.162360 for Perl allow attacker selected method dispatch and resource exhaustion via an HTML::Tidy diagnostic that validate passes to add_error as a Locale::Maketext template. validate runs HTML::Tidy over the submitted markup and passes each resulting message to add_error as its first argument, which add_error hands to the language handle as the Locale::Maketext message key. The default handle's lexicon sets `_AUTO`, so a message that is not a lexicon entry is compiled as a bracket notation template instead of being looked up. Tidy diagnostics quote the offending attribute name or value, so a bracket group in the submitted markup reaches the template position, where the first token of the group names a method called on the language handle and the remaining tokens are its arguments. A group such as `[0]` makes the compile croak, and neither the field nor the handle catches it, so the exception leaves validate. `[sprintf,%2000000000d,7]` reaches CORE::sprintf with an attacker chosen field width. One submission of crafted markup to an HtmlArea field throws an unhandled exception out of form validation or allocates an arbitrary amount of memory, and an application whose language handle subclass defines side effecting public methods makes those callable with attacker chosen arguments. The other field types pass fixed templates with the submitted value in an argument slot, where it stays inert, and are unaffected.
Title Form::Processor::Field::HtmlArea versions from 0.06 through 1.162360 for Perl allow attacker selected method dispatch and resource exhaustion via an HTML::Tidy diagnostic that validate passes to add_error as a Locale::Maketext template
Weaknesses CWE-1336
CWE-470
References

Subscriptions

Hank Form Processor
cve-icon MITRE

Status: PUBLISHED

Assigner: CPANSec

Published:

Updated: 2026-08-14T17:47:10.542Z

Reserved: 2026-06-23T17:37:40.139Z

Link: CVE-2026-13051

cve-icon Vulnrichment

Updated: 2026-08-14T17:46:46.161Z

cve-icon NVD

Status : Deferred

Published: 2026-08-13T17:17:19.513

Modified: 2026-08-26T16:51:19.490

Link: CVE-2026-13051

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-14T20:30:04Z

Weaknesses
  • CWE-1336

    Improper Neutralization of Special Elements Used in a Template Engine

  • CWE-470

    Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection')