TypeBot: Stored Cross-Site Scripting (XSS) via SVG File Upload On Profile Picture Form
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- Passive
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- Cross-site scripting
- Confidentiality · integrity · availability
- High · High · None
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA. Impact type from CWE-79.
Summary
TypeBot is a chatbot builder tool. Versions 3.15.2 and prior contain a critical stored XSS vulnerability in the app.typebot.io profile picture upload form. The application fails to sanitize or restrict SVG/XML-based uploads and directly renders them when accessed through the domain. By uploading a crafted malicious SVG file containing embedded JavaScript, an attacker will execute arbitrary JavaScript code. This vulnerability directly enables stored XSS exploitation because the payload is persistently stored on your infrastructure (app.typebot.io) and accessible from a public-facing, permanent link. Stored XSS via malicious SVG uploads to app.typebot.io allows attackers to execute arbitrary JavaScript in victims' browsers, enabling session/token theft, account takeover, and exfiltration of sensitive user data. This issue has been fixed in version 3.16.0.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| baptisteArno | typebot.io | before 3.16.0 | 3.16.0 | Patch available | CNA |
- typebot.io VendorbaptisteArno Affected before 3.16.0 Fixed in 3.16.0 Patch available CNA
CPE names Threatist (inferred) · 1
Inferred from how NVD named this product before; not given by a source.
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:typebot:typebot:*:*:*:*:*:*:*:* | — | — | baptisteArno |
- cpe:2.3:a:typebot:typebot:*:*:*:*:*:*:*:* Versions — — ·baptisteArno
Remediation
- Fix · CNA typebot.io (baptisteArno) Fixed in 3.16.0
Timeline
- 2026-10-02 Threatist record created from CVE-2026-39970
References
More baptisteArno vulnerabilities
- TI-2026-26091 TypeBot: Unauthenticated SSRF via isolated-vm fetch in preview chat endpoint bypasses SSRF controls CVSS 3.1CRITICAL 10.0
- TI-2026-36038 TypeBot: Unauthenticated arbitrary s3 object write in generate-upload-url via unsanitized fileName CVSS 3.1CRITICAL 9.3
- TI-2026-44929 TypeBot: Arbitrary server file read via Send Email block attachment path CVSS 4.0HIGH 8.7
- TI-2026-36035 TypeBot vulnerable to cross-workspace OAuth credential takeover in updateOAuthCredentials via missing object binding CVSS 3.1CRITICAL 9.9
- TI-2026-35208 TypeBot vulnerable to CSV injection in result export CVSS 3.1CRITICAL 9.6
- TI-2025-40055 Typebot May Expose AWS EKS Credentials via Server Side Request Forgery in Webhook Block CVSS 3.1CRITICAL 9.9
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences