# CVE-2026-102615: HeyForm stored cross-site scripting in file upload

Source: https://junglewise.ai/threats/cve-2026-102615-heyform-is-an-open-source-form-builder-prior-to-3-0-1-api-upload  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-11-05. Updated: 2026-11-05  
License: CC BY 4.0 with a link back

CVE-2026-102615 · Severity: high · CVSS 7.6 · Published 2026-11-05

HeyForm is an open-source form builder that allows users to create and manage online forms. An attacker can upload a malicious HTML file that executes in the browser when a victim clicks the file's link, allowing the attacker to steal or modify the victim's data through the same-origin script access to the GraphQL API.

Technologies: [HeyForm](https://junglewise.ai/threats/technologies/heyform). Vendors: [HeyForm](https://junglewise.ai/threats/vendors/heyform).

## Quick answers

**Is CVE-2026-102615 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-102615 being exploited in the wild.

**How severe is CVE-2026-102615?** High severity, with a CVSS score of 7.6, published 5 November 2026.

**Which products and versions are affected?** HeyForm before 3.0.1.

**Is there a fix for CVE-2026-102615?** Yes: fixed in 3.0.1. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-102615 attacked?** It is attacked over the network, in a web application.

**Am I affected by CVE-2026-102615?** Check whether you run HeyForm at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- Fixed in 3.0.1

## Technical details

The /api/upload endpoint accepts files with a client-controlled MIME type while preserving HTML filenames, then serves them as text/html with Content-Security-Policy disabled from the static/upload path. This allows stored XSS attacks where malicious HTML executes on the HeyForm origin with the victim's session credentials, enabling access to /graphql to read or modify account data. The vulnerability also affects unauthenticated public form submissions via formId, openToken, and file/signature field IDs.

## Affected products

- HeyForm HeyForm before 3.0.1

## Timeline

- 2026-11-05: disclosed

## References

- [https://github.com/heyform/heyform/commit/849f7101d4370b29e716b2d7ee14a86c2f598f3a](https://github.com/heyform/heyform/commit/849f7101d4370b29e716b2d7ee14a86c2f598f3a)
- [https://github.com/heyform/heyform/releases/tag/v3.0.1](https://github.com/heyform/heyform/releases/tag/v3.0.1)

## Related threats

- [HeyForm CORS misconfiguration with credential handling](https://junglewise.ai/threats/cve-2026-82291-heyform-cors-misconfiguration-with-credential-handling)
- [HeyForm missing authentication in file upload API](https://junglewise.ai/threats/cve-2026-63429-heyform-missing-authentication-in-file-upload-api)
- [HeyForm improper input validation in hiddenFields submission](https://junglewise.ai/threats/cve-2026-63428-heyform-improper-input-validation-in-hiddenfields-submission)
- [HeyForm unauthenticated stored XSS via SVG file upload](https://junglewise.ai/threats/cve-2026-45797-heyform-unauthenticated-stored-xss-via-svg-file-upload)
- [HeyForm stored XSS in form builder field titles](https://junglewise.ai/threats/cve-2026-35198-heyform-stored-xss-in-form-builder-field-titles)
