Description
HeyForm is an open-source form builder. Prior to version 3.0.0-rc.9, `completeSubmission` accepts a `hiddenFields: [{id, name, value}]` array from the submitter and stores it verbatim in `submission.hiddenFields`, without validating the supplied `id`/`name` against the form's declared `form.hiddenFields` schema. An anonymous form submitter can therefore inject arbitrary key/value pairs (including XSS payloads, fake authorization metadata, integration-relevant values) into the stored submission. These fields are subsequently forwarded as-is to every webhook integration registered on the form. Version 3.0.0-rc.9 contains a patch for the issue.
Published: 2026-07-20
Score: 5.8 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

HeyForm’s completeSubmission API currently accepts a hiddenFields array supplied by the submitter and stores it directly in the submission record without validating the identifiers against the form’s declared hidden‑field schema. This flaw, identified as CWE‑20 (Improper Input Validation) and CWE‑915 (Potential Loss of Data Integrity), allows an attacker to inject arbitrary key/value pairs, which may include XSS payloads or bogus authorization information. The injected fields are subsequently exported unchanged to every webhook integration configured for the form, giving the attacker a channel to exfiltrate data or tamper with downstream services.

Affected Systems

HeyForm, the open‑source form builder, is affected in all releases prior to version 3.0.0‑rc.9. Any deployment of HeyForm that has not upgraded to or beyond the patched version is vulnerable, regardless of the environment. The vulnerability is present in the completeSubmission endpoint and does not require any additional configuration to be exploitable.

Risk and Exploitability

With a CVSS score of 5.8 the vulnerability is considered moderate; however, its EPSS score of < 1% indicates a very low probability of exploitation in the wild. The flaw is not listed in CISA’s KEV catalog. Based on the description, the likely attack vector is an HTTP POST to the form’s submission endpoint, which is accessible to anonymous users; once crafted hiddenFields are submitted, they are persisted and forwarded to any configured webhook, effectively allowing an attacker to exfiltrate or manipulate integration data.

Generated by OpenCVE AI on July 30, 2026 at 19:12 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade HeyForm to version 3.0.0‑rc.9 or later to apply the vendor patch that validates hidden fields against the form schema.
  • If an upgrade is delayed, temporarily remove or disable any webhook integrations that consume submitted hidden fields until the validator is in place, so that forged data cannot reach downstream services.
  • Add custom server‑side validation to the completeSubmission endpoint to verify that each supplied hidden field’s id and name exist in the form’s declared hidden‑field set, rejecting invalid entries before storage or webhook transmission.

Generated by OpenCVE AI on July 30, 2026 at 19:12 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 23 Jul 2026 21:45:00 +0000

Type Values Removed Values Added
First Time appeared Heyform
Heyform heyform
Vendors & Products Heyform
Heyform heyform

Mon, 20 Jul 2026 17:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Mon, 20 Jul 2026 16:15:00 +0000

Type Values Removed Values Added
Description HeyForm is an open-source form builder. Prior to version 3.0.0-rc.9, `completeSubmission` accepts a `hiddenFields: [{id, name, value}]` array from the submitter and stores it verbatim in `submission.hiddenFields`, without validating the supplied `id`/`name` against the form's declared `form.hiddenFields` schema. An anonymous form submitter can therefore inject arbitrary key/value pairs (including XSS payloads, fake authorization metadata, integration-relevant values) into the stored submission. These fields are subsequently forwarded as-is to every webhook integration registered on the form. Version 3.0.0-rc.9 contains a patch for the issue.
Title HeyForm: completeSubmission persists submitter-supplied hidden fields verbatim without validating against the form's declared hidden-field set
Weaknesses CWE-20
CWE-915
References
Metrics cvssV3_1

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


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-20T16:13:26.732Z

Reserved: 2026-07-16T19:35:57.766Z

Link: CVE-2026-63428

cve-icon Vulnrichment

Updated: 2026-07-20T16:10:28.489Z

cve-icon NVD

Status : Deferred

Published: 2026-07-20T16:17:06.680

Modified: 2026-07-22T20:50:36.493

Link: CVE-2026-63428

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-30T19:15:04Z

Weaknesses
  • CWE-20

    Improper Input Validation

  • CWE-915

    Improperly Controlled Modification of Dynamically-Determined Object Attributes