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: n/a
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

A flaw in Form::Processor::Field::HtmlArea versions from 0.06 through 1.162360 allows an attacker to trigger the HTML::Tidy module to return diagnostics that are then passed as a Locale::Maketext template key to the add_error method. Because the default language handle treats unknown keys as bracket‑notation templates, the diagnostic string can be crafted to compile into arbitrary method calls on the language handle or to explode the CORE::sprintf function with an attacker‑selected width. Exploiting this mechanism can result in an unhandled exception that crashes the application or, if the language handle contains side‑effecting public methods, can execute arbitrary code or exhaust system resources.

Affected Systems

The vulnerability affects Perl installations that use the Form-Processor distribution, specifically the Form::Processor::Field::HtmlArea component, in any release from 0.06 up to and including 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 experience this flaw.

Risk and Exploitability

The exploit requires remote submission of specially crafted markup to a form that contains an HtmlArea field. An attacker can trigger a runtime exception or cause arbitrary memory allocation, and if the language handle provides callable public methods with side effects, they can be invoked with attacker‑chosen arguments. Although EPSS data is not available and the vulnerability is not listed in CISA KEV, the potential for remote code execution and denial of service places the risk high; patching or mitigating the vulnerable field is strongly recommended.

Generated by OpenCVE AI on August 13, 2026 at 17:28 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 your Form‑Processor installation so that tidy messages are treated as interpolation arguments rather than template keys.
  • If the patch cannot be applied, remove or disable the HtmlArea field type from all forms to prevent the vulnerability from being reachable.
  • Verify that any custom Locale::Maketext language handle used by the application does not expose public methods with side effects; restrict or remove such methods to eliminate the risk of arbitrary method execution.

Generated by OpenCVE AI on August 13, 2026 at 17:28 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

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

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: CPANSec

Published:

Updated: 2026-08-13T16:28:50.242Z

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

Link: CVE-2026-13051

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

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

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

Link: CVE-2026-13051

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-13T17:30:07Z

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')