Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconIdentify HeyForm instance URL
-
DeliveryCraft malicious page with credentialed GraphQL fetch
-
ExploitPhish logged-in HeyForm user to visit page
-
InstallBrowser sends session cookie with cross-origin request
-
C2Server reflects origin with Allow-Credentials: true
-
ExecuteJavaScript reads authenticated API response
-
ImpactExfiltrate submissions or modify account settings
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A02:2025 - Security Misconfiguration
ASVS 5.0
V13 - Configuration CORS policy restriction
|
| Exploitation Conditions | A logged-in HeyForm user must actively visit an attacker-controlled web page while holding a valid HeyForm session cookie - this is the user-interaction prerequisite captured by UI:R in the CVSS vector. The HeyForm server must be reachable from the victim's browser (not restricted to localhost or a VPN-only network). No non-default configuration is required: the vulnerable |
| Impact | The vendor-assigned CVSS 8.1 (AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N) is well-calibrated: the flaw is network-exploitable with low complexity and no required privileges, but mandates user interaction (UI:R) because a logged-in victim must be lured to an attacker-controlled page. The unchanged scope (S:U) reflects that exploitation operates within the victim's existing HeyForm session context rather than pivoting to other systems. Real-world risk is meaningful for self-hosted deployments where users maintain long-lived sessions - a common pattern for internal teams. The session cookie is |
| Exploit ScenarioDerived | An attacker registers a malicious domain and embeds JavaScript that issues |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 28, 2026
Cross-origin credential exposure in HeyForm before 3.0.0-rc.8 allows any attacker-controlled web page visited by a logged-in user to make fully authenticated GraphQL API requests against the HeyForm server. The server's default CORS configuration (origin: true, credentials: true) unconditionally echoed the request Origin header back as Access-Control-Allow-Origin while also asserting Access-Control-Allow-Credentials: true, defeating the browser's same-origin policy for all origins. This exposes workspaces, projects, forms, submissions, and respondent data to exfiltration and permits account settings modification; no public exploit has been identified at time of analysis.
RemediationAI
Upgrade HeyForm to version 3.0.0-rc.8 or later, which replaces the reflective origin: true CORS setting with an explicit origin allowlist implemented in packages/server/src/config/cors/index.ts (patch commit bf9d738ca70ae5641c0c7372982b00365c5144d4, advisory GHSA-fg7j-rmgr-rc9g). After upgrading, set the CORS_ALLOWED_ORIGINS environment variable to a comma-separated list of trusted dashboard origins such as CORS_ALLOWED_ORIGINS=https://forms.example.com; when omitted, it defaults to the value of APP_HOMEPAGE_URL. As a compensating control before patching, restrict network access to the HeyForm server to known-trusted IP ranges or place it behind a VPN, preventing attacker-controlled pages from reaching the GraphQL endpoint - note this trade-off reduces availability for remote users. Do not use origin: true or any wildcard origin configuration alongside credentials: true in any deployment.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
HeyForm is a self-hosted open-source form builder built on Node.js with a NestJS backend serving a GraphQL API. The root cause is CWE-942 (Permissive Cross-domain Policy with Untrusted Domains): the NestJS enableCors({ origin: true, credentials: true }) call in packages/server/src/main.ts caused the server to reflect any value present in the incoming Origin request header directly into the Access-Control-Allow-Origin response header, while simultaneously emitting Access-Control-Allow-Credentials: true. Per the CORS specification, browsers permit cross-origin reads of credentialed responses only when Access-Control-Allow-Origin exactly matches the request's origin - origin reflection trivially satisfies this check for any origin. The affected surface is the GraphQL endpoint used by the HeyForm dashboard. All versions captured by CPE cpe:2.3:a:heyform:heyform:*:*:*:*:*:*:*:* prior to 3.0.0-rc.8 ship this configuration by default.
Know when Heyform gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N
Network-reachable with no auth required, but user must visit attacker page (UI:R); no availability impact; confidentiality and integrity both High via full authenticated GraphQL API access.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
HeyForm before 3.0.0-rc.8 reflects the request Origin header in CORS responses while allowing credentials, enabling cross-origin requests with authentication. Attackers can execute authenticated GraphQL queries from malicious pages visited by logged-in users to access workspaces, projects, forms, submissions, and respondent data, or modify account settings.
Technical POC Analysis
Evidence note: the supplied GHSA is GHSA-fg7j-rmgr-rc9g, self-rated Critical 9.3 with CWE-346 (Origin Validation Error) and "No known CVE"; the task metadata gives CVE-2026-82291, CWE-942, CVSS 8.1.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
HeyForm versions before 3.0.0-rc.8 have a critical CORS vulnerability that allows any website to exfiltrate form data, submissions, and respondent information from logged-in users. This directly exposes organizational survey data and customer information to any website operator. The attack requires no attacker authentication-merely visiting a compromised site while logged into HeyForm is sufficient for data theft.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Stored cross-site scripting in HeyForm's form builder (all versions prior to 3.0.0-rc.7) lets a low-privileged team memb
Missing authentication in HeyForm's POST /api/upload endpoint lets any anonymous internet user upload files up to 10 MB
Stored cross-site scripting in HeyForm's unauthenticated file upload endpoint allows remote attackers to execute arbitra
Hidden field injection in HeyForm's form submission API allows anonymous submitters to bypass server-side schema validat
EUVD-2026-67822
GHSA-69g7-vm8m-997r
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB