Skip to main content

Typebot CVE-2026-28445

| EUVDEUVD-2026-31466 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-05-22 GitHub_M GHSA-6m7c-xfhp-p9fh
8.7
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain collaborator access or publish importable typebot
  2. Delivery
    Craft Rating block with malicious customIcon.svg payload
  3. Exploit
    Victim opens or previews typebot in builder
  4. Execution
    Solid innerHTML injects unsanitized SVG under unsafe-inline CSP
  5. Persist
    Script executes in builder.typebot.io authenticated origin
  6. Impact
    Exfiltrate session tokens and pivot to workspace admin actions

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Attacker must hold a low-privileged authenticated identity in the target Typebot instance (collaborator on a shared workspace, or the ability to publish/share an importable typebot) - this is the PR:L requirement. The victim must perform a UI action (UI:R) by opening or previewing a maliciously crafted typebot inside the builder at builder.typebot.io. The payload must be placed in a Rating input block's customIcon.svg field, which the pre-3.16.0 import sanitizer did not flag as isUnsafe and which RatingButton renders through Solid's innerHTML. Exploitation further depends on the builder origin's CSP permitting 'unsafe-inline', which is the case on the hosted builder.typebot.io and on default self-hosted deployments. Limiting factors: not exploitable against published/embedded end-user-facing bots (the sink is in the builder preview path, not the runtime embed); not exploitable without an authenticated builder account or a victim who imports an attacker-supplied typebot; instances that have hardened CSP to remove 'unsafe-inline' break the script-execution step.

Impact

The CVSS 8.7 score with vector AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N reflects a realistic threat model: low-privileged authenticated user (PR:L, e.g., a collaborator or import recipient), user interaction required to open the malicious typebot (UI:R), and a changed scope (S:C) reaching the builder's authenticated session from a tenant-supplied payload. EPSS and KEV data were not provided in the input, so widespread exploitation probability cannot be quantified; no public exploit identified at time of analysis. The CVSS-described risk is credible - the commit diff confirms the sink, the missing sanitizer, and the CSP weakness - making this a real priority for any multi-tenant or shared-workspace Typebot deployment rather than a paper-only high-CVSS issue. UI:R and PR:L meaningfully limit drive-by mass exploitation but do not protect against insider/collaborator abuse or social-engineered imports.

Exploit ScenarioDerived

An attacker creates a malicious typebot JSON containing a Rating block whose customIcon.svg field embeds an SVG with an inline <script> or onload handler, then either publishes it for import or uses collaborator access to a shared workspace. When a victim builder user opens or previews the typebot, Solid's innerHTML directive injects the SVG into the builder.typebot.io DOM under the permissive CSP, executing the attacker's JavaScript with the victim's authenticated session and enabling session/cookie theft, API-token exfiltration, and privilege escalation across the victim's workspaces.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – May 22, 2026

Stored cross-site scripting in Typebot chatbot builder versions 3.15.2 and prior allows a malicious imported or collaborator-crafted bot to execute arbitrary HTML/JavaScript in the authenticated builder context via the RatingButton component's customIcon.svg field. Because the builder preview renders bots inline on builder.typebot.io under a CSP permitting 'unsafe-inline', successful exploitation enables session hijacking and privilege escalation within the SaaS builder, with no public exploit identified at time of analysis.

RemediationAI

Vendor-released patch: upgrade Typebot to version 3.16.0 or later, available at https://github.com/baptisteArno/typebot.io/releases/tag/v3.16.0; the fix commit 474ecbf46bc47a75265bada2599f12b2179de375 adds DOMPurify-based sanitizeSvgFragment and sanitizeHtmlFragment helpers and applies sanitizeSvgFragment to rating-block customIcon.svg and sanitizeHtmlFragment to file-block placeholder labels inside the import sanitizer. For self-hosted operators who cannot immediately upgrade, restrict who can import typebots or invite collaborators (disable open imports, gate collaborator add to verified workspace admins), and review existing typebots for rating blocks containing <script>, on*= handlers, or javascript: URIs in customIcon.svg before opening them in the builder - note this manual review does not scale and will miss obfuscated payloads. Tightening the builder CSP to remove 'unsafe-inline' is the strongest compensating control but will break legitimate inline-script features of the builder preview, so it should only be applied if you can validate the builder still functions; consult the GHSA-6m7c-xfhp-p9fh advisory for vendor guidance.

Affected VersionsENISA

typebot.io < 3.16.0

Affected Packages

npm @typebot.io/js fix: 0.10.1
euvd typebot_io fix: 3.16.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in npm, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Typebot is an open-source chatbot builder (CPE cpe:2.3:a:baptistearno:typebot.io) whose embed package uses SolidJS, where the RatingButton component passes the user-controlled customIcon.svg string directly to Solid's innerHTML directive - a sink equivalent to React's dangerouslySetInnerHTML. This is a textbook CWE-79 (Improper Neutralization of Input During Web Page Generation) where DOMPurify was already a project dependency and used in StreamingBubble.tsx, but was never invoked on the rating block's SVG payload. Compounding the sink exposure, the import sanitizer did not flag rating blocks as isUnsafe, and the builder origin's CSP permits 'unsafe-inline' scripts, which neutralizes the Web Worker sandbox that normally isolates Script blocks during preview rendering.

Know when Typebot Io 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

Vendor (GitHub_M) PRIMARY 8.7 HIGH
AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N

Primary rating from Vendor (GitHub_M) · only source for this CVE.

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

1
Patch available
May 26, 2026 - 18:02 EUVD

DescriptionCVE.org

Typebot is a chatbot builder tool. In versions 3.15.2 and prior, the RatingButton component in the embed package renders the user-controlled customIcon.svg field directly via Solid's innerHTML directive without any sanitization, even though DOMPurify is already a dependency and is used elsewhere in the codebase (e.g., StreamingBubble.tsx). Because rating blocks are not flagged as isUnsafe by the import sanitizer and the builder preview renders bots inline on the builder's own origin (builder.typebot.io) under a CSP permitting 'unsafe-inline', a malicious imported or collaborator-crafted typebot can execute arbitrary HTML/JS in the builder's authenticated context, bypassing the Web Worker sandbox that protects Script blocks during preview. This allows session hijacking and privilege escalation within the builder application. This issue has been fixed in version 3.16.0.

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 1 npm packages depend on @typebot.io/js (1 direct, 0 indirect)

Ecosystem-wide dependent count for version 0.10.1.

Executive ViewAI

Why It Matters

Typebot's SaaS chatbot builder platform (versions 3.15.2 and prior) contains a vulnerability enabling attackers to compromise authenticated builder accounts through shared or imported bot files, exposing organizations to account takeover and privilege escalation. Teams using Typebot for collaborative chatbot development face direct risk to credential compromise and unauthorized access to bot configurations and associated data.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: restrict bot imports to internally-created or pre-approved sources, temporarily disable external collaboration features, implement enhanced monitoring of builder account activities for unauthorized access, require re-authentication for sensitive administrative operations, and educate users on risks of importing bots from untrusted third parties.

Threat Intelligence Overview

EPSS Score
0.0%
Top 91% exploitable
Threat Intel
1
1 source
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA GitHub VulDB

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.

CVE-2026-33712 CRITICAL
10.0 May 22

Server-Side Request Forgery in Typebot chatbot builder versions 3.15.2 and prior allows unauthenticated remote attackers

CVE-2026-48765 CRITICAL
9.9 Aug 11

Cross-workspace OAuth credential takeover in Typebot (open-source chatbot builder) before 3.17.0 lets a user holding onl

CVE-2026-48768 CRITICAL
9.3 Jun 17

Unauthenticated cross-tenant file upload in Typebot.io chatbot builder versions 3.16.1 and earlier allows anonymous visi

CVE-2026-47702 CRITICAL
9.1 Aug 11

Cleartext storage of API bearer tokens in the self-hosted open-source Typebot chatbot builder (version 3.16.1) lets anyo

CVE-2026-39970 HIGH
8.5 May 22

Stored cross-site scripting in Typebot (chatbot builder) versions 3.15.2 and prior lets an authenticated user upload a c

CVE-2026-48763 HIGH
8.2 Aug 11

Unauthenticated S3 path traversal in Typebot versions prior to 3.17.0 allows any attacker to obtain presigned S3 PUT URL

CVE-2026-48764 HIGH
8.2 Jun 17

Server-side request forgery in Typebot chatbot builder before version 3.17.2 allows remote unauthenticated attackers to

CVE-2026-49213 HIGH
8.1 Jul 10

Server-side request forgery in Typebot before 3.17.2 lets an authenticated workspace editor or creator bypass the shared

CVE-2026-39965 HIGH
7.7 May 22

Server-side request forgery in Typebot versions 3.15.2 and prior allows authenticated users to bypass the validateHttpRe

CVE-2026-48766 HIGH
7.6 Aug 11

Credential exfiltration in Typebot prior to 3.17.0 allows a low-privilege guest workspace member to steal decrypted Open

CVE-2026-34207 HIGH
7.6 May 22

Server-side request forgery in Typebot chatbot builder versions prior to 3.16.0 allows authenticated users to bypass SSR

CVE-2026-47704 HIGH
7.1 Aug 11

Typebot's webhook resume endpoint exposes an insecure direct object reference flaw that allows any authenticated user ho

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