`.\n 2. Open the integrations CP view.\n 3. Script executes.\n\n**Impact**\nArbitrary JS in admin CP; session/CSRF token theft; potential full admin takeover via DOM-driven actions.\n\n**Remediation**\n- Sanitize/HTML-encode all user-controlled strings before passing to `dangerouslySetInnerHTML`, or avoid it for labels/titles/icons.\n- Server-side: strip/escape disallowed tags on save for fields, integration metadata, WYSIWYG content.\n- Add regression tests with `` payloads to ensure no execution in builder/integration views.\n\n**Workarounds**\n- Restrict form-edit permissions to trusted admins only until patched.\n- Consider CSP that disallows inline scripts (defense-in-depth only).\n\n**Credits**\n- Discovered by https://www.linkedin.com/in/praveenkavinda/ | Prav33N-Sec.","datePublished":"2026-02-16T00:20:21.320000","dateModified":"2026-02-16T02:55:44.913000","author":{"@type":"Organization","name":"Strobes Security","url":"https://strobes.co"},"publisher":{"@type":"Organization","name":"Strobes VI","url":"https://vi.strobes.co"},"mainEntityOfPage":{"@type":"WebPage","@id":"https://vi.strobes.co/cve/CVE-2026-26188"},"about":{"@type":"Thing","name":"CVE-2026-26188","description":"Security vulnerability CVE-2026-26188 with CVSS score 0"},"keywords":["CVE-2026-26188","CVE","vulnerability","security","low","patch available"]}`.\n 2. Open the integrations CP view.\n 3. Script executes.\n\n**Impact**\nArbitrary JS in admin CP; session/CSRF token theft; potential full admin takeover via DOM-driven actions.\n\n**Remediation**\n- Sanitize/HTML-encode all user-controlled strings before passing to `dangerouslySetInnerHTML`, or avoid it for labels/titles/icons.\n- Server-side: strip/escape disallowed tags on save for fields, integration metadata, WYSIWYG content.\n- Add regression tests with `` payloads to ensure no execution in builder/integration views.\n\n**Workarounds**\n- Restrict form-edit permissions to trusted admins only until patched.\n- Consider CSP that disallows inline scripts (defense-in-depth only).\n\n**Credits**\n- Discovered by https://www.linkedin.com/in/praveenkavinda/ | Prav33N-Sec."}},{"@type":"Question","name":"What is the severity of CVE-2026-26188?","acceptedAnswer":{"@type":"Answer","text":"CVE-2026-26188 has a CVSS v3 score of 0, which is classified as Low severity."}},{"@type":"Question","name":"Is there an exploit available for CVE-2026-26188?","acceptedAnswer":{"@type":"Answer","text":"No known public exploits are currently available for CVE-2026-26188."}},{"@type":"Question","name":"Is there a patch available for CVE-2026-26188?","acceptedAnswer":{"@type":"Answer","text":"Yes, patches are available for CVE-2026-26188. Check the vendor advisories for update instructions."}}]}
CVE-2026-26188
Published: February 16, 2026
Last updated:
Exploit: NoZero-day: NoPatch: YesTrend: Neutral
TL;DR
CVE-2026-26188 is a low severity vulnerability with a CVSS score of 0.0. No known exploits currently, and patches are available.
Key Points
1Low severity (CVSS 0.0/10)
2No known public exploits
3Vendor patches are available
Severity Scores
CVSS v30.0
CVSS v20.0
Priority Score0.0
EPSS Score0.0
None
Exploitation LikelihoodMinimal
0.00%EPSS
Very low probability of exploitation
Monitor and patch as resources allow
0.00%
EPSS
0.0
CVSS
No
Exploit
Yes
Patch
Low Priority
no major risk factors
EPSS predicts the probability of exploitation in the next 30 days based on real-world threat data, complementing CVSS severity scores with actual risk assessment.
Description
Summary
An authenticated, low-privilege user (able to create/edit forms) can inject arbitrary HTML/JS into the Craft Control Panel (CP) builder and integrations views. User-controlled form labels and integration metadata are rendered with dangerouslySetInnerHTML without sanitization, leading to stored XSS that executes when any admin views the builder/integration screens.
Affected Product
Ecosystem: Packagist (Craft CMS plugin)
Package: solspace/craft-freeform
Version: <= 5.14.6 (latest observed). Likely all 5.x until patched.
Details
Root cause: Multiple user-controlled strings (field labels, section labels, integration icons, short names, WYSIWYG previews) are injected into React components using dangerouslySetInnerHTML without sanitization.