{"id":"CVE-2026-102615","title":"HeyForm: Uploaded HTML files are served as text/html on the app origin with no CSP — stored XSS","summary":"HeyForm is an open-source form builder. Prior to 3.0.1, /api/upload accepts a file according to the client-controlled multipart file.mimetype while retaining an HTML filename, and static/upload serves the resulting file as text/html with…","severity":"high","cvss":7.6,"cvssVector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:L/A:N","cvssSource":"cna","cwe":["CWE-79"],"vendor":"heyform","product":"heyform","affected":["heyform < 3.0.1"],"published":"2026-11-05","updated":"2026-11-05","sourceUpdated":"2026-11-05T15:32:30.406Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-102615","references":[{"url":"https://github.com/heyform/heyform/security/advisories/GHSA-pxw5-pjrc-j758","label":"https://github.com/heyform/heyform/security/advisories/GHSA-pxw5-pjrc-j758"},{"url":"https://github.com/heyform/heyform/commit/849f7101d4370b29e716b2d7ee14a86c2f598f3a","label":"https://github.com/heyform/heyform/commit/849f7101d4370b29e716b2d7ee14a86c2f598f3a"},{"url":"https://github.com/heyform/heyform/releases/tag/v3.0.1","label":"https://github.com/heyform/heyform/releases/tag/v3.0.1"}],"tags":["cve.org"],"ingestedAt":"2026-11-05T21:36:00.904Z","epss":0.00252,"epssPercentile":0.16793,"slug":"CVE-2026-102615","body":"## Overview\n\nHeyForm is an open-source form builder. Prior to 3.0.1, /api/upload accepts a file according to the client-controlled multipart file.mimetype while retaining an HTML filename, and static/upload serves the resulting file as text/html with contentSecurityPolicy: false. An ordinary user can therefore upload active HTML that executes on the HeyForm origin when a victim opens its returned URL. The same-origin script can access /graphql with the victim's session and read or modify data available to that account. The code also permits upload requests tied to an active public form through formId, openToken, and a fieldId belonging to a file or signature question, although the advisory did not fully verify that unauthenticated path end to end. This issue is fixed in version 3.0.1.\n\n## Affected\n\n- `heyform < 3.0.1`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"twilight","depthScore":42,"depthScoreParts":{"impact":41.8,"likelihood":0.1,"exploitation":0,"ransomware":0},"changes":[]}