Skip to main content

HeyForm CVE-2026-63429

| EUVDEUVD-2026-45986 HIGH
Missing Authentication for Critical Function (CWE-306)
2026-07-20 GitHub_M
8.6
CVSS 3.1 · Vendor: GitHub_M
Share

Severity by source

Vendor (GitHub_M) PRIMARY
8.6 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:L
vuln.today AI
6.5 MEDIUM

Remote unauthenticated, no interaction (AV:N/AC:L/PR:N/UI:N); no data disclosure so C:N, impact is unauthorized file injection/hosting (I:L) and storage exhaustion (A:L), not RCE.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
High
Availability
Low

Lifecycle Timeline

4
Source Code Evidence Fetched
Jul 20, 2026 - 17:52 vuln.today
Analysis Generated
Jul 20, 2026 - 17:52 vuln.today
Patch available
Jul 20, 2026 - 17:02 EUVD
CVE Published
Jul 20, 2026 - 15:54 cve.org
HIGH 8.6

DescriptionCVE.org

HeyForm is an open-source form builder. Prior to version 3.0.0-rc.9, POST /api/upload has no authentication guard, no global guard, no form-context validation, no openToken requirement, and no session cookie check. Any anonymous internet user can upload files (PDF, DOC/DOCX, XLS/XLSX, CSV, TXT, MP4, images, etc., up to 10 MB) and receive a permanent public URL on the HeyForm domain. The endpoint is used by both authenticated form creators and unauthenticated form submitters; because no form-context binding exists, every request to it is anonymously accepted. Version 3.0.0-rc.9 contains a patch for the issue.

AnalysisAI

Missing authentication in HeyForm's POST /api/upload endpoint lets any anonymous internet user upload files up to 10 MB (PDF, Office docs, CSV, MP4, images, etc.) and receive a permanent, public URL hosted on the HeyForm domain. The endpoint is shared by authenticated form creators and unauthenticated submitters but performs no auth guard, no form-context binding, no openToken check, and no session validation, so every request is accepted anonymously in all deployments prior to 3.0.0-rc.9. No public exploit identified at time of analysis, and the flaw is not listed in CISA KEV; abuse is trivial but limited to unauthorized file hosting rather than server compromise.

Technical ContextAI

HeyForm is a self-hostable open-source online form/survey builder (Node.js/TypeScript server with a Multer-based upload pipeline that stores files either to an S3-compatible bucket or to local disk). The root cause is CWE-306 (Missing Authentication for a Critical Function): the file-upload route is mounted without the application's authentication middleware, global guard, or the openToken/form-context checks that legitimate submission flows are supposed to enforce. Because uploads must work for anonymous form respondents, the developers left the endpoint open, but they never bound a request to a specific form or submission session, so the same handler that serves genuine form file-answers also acts as an unauthenticated, general-purpose object store. The affected component is cpe:2.3:a:heyform:heyform (all versions before 3.0.0-rc.9). Note that the remediation commit (092e255e) also bundles unrelated hardening - stricter unsafe-URL-protocol sanitization against javascript:/vbscript:/data: XSS split by control characters, and an assertSafeOutboundRequest SSRF guard - but those are separate defenses, not the subject of this CVE.

RemediationAI

Vendor-released patch: 3.0.0-rc.9 - upgrade to HeyForm 3.0.0-rc.9 or later, which adds proper guarding/context binding to the upload flow (fix commit https://github.com/heyform/heyform/commit/092e255e9e02565de1b3c057f3dad849160952d2; advisory https://github.com/heyform/heyform/security/advisories/GHSA-432x-54v2-p7p7). If you cannot upgrade immediately, front the instance with a reverse proxy or WAF rule that requires a valid form-submission context (origin/referrer from a real published form) before allowing POST /api/upload, or restrict the endpoint to authenticated sessions - with the trade-off that anonymous public form submissions containing file-upload fields will break. Additional compensating controls: enforce strict per-IP rate limiting and a small maximum file count on the endpoint to blunt storage-exhaustion abuse, serve uploaded objects from a separate throwaway domain/bucket so blocklisting cannot taint your primary domain, and monitor upload volume and object types for anomalous binaries. Each of these reduces abuse but does not fully close the authentication gap, so upgrading remains the primary fix.

Share

CVE-2026-63429 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy