Typebot CVE-2026-48768
CRITICALAttack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessDiscover published bot with file-input block
-
DeliveryPOST crafted fileName to generate-upload-url
-
ExploitReceive presigned PUT URL for cross-tenant key
-
ExecutionUpload HTML/SVG/JS payload via PUT
-
PersistDistribute link under victim tenant path
-
ImpactVictim browser executes stored XSS on storage origin
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK
2 techniques across 2 tactics: Discovery, Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires the target Typebot instance to have at least one published bot containing a file-input block (v3) whose generate-upload-url endpoint is reachable; no authentication, no user interaction, and no admin access are required, consistent with PR:N/UI:N. Exploitation is limited to keys reachable under the public/ prefix of the configured S3 or MinIO bucket - '../' traversal is blocked by S3/MinIO canonicalization, so the attacker can only pivot via forward-slash injection within the public namespace. XSS severity further depends on whether the storage bucket is served from the same origin as the Typebot application; cross-origin storage limits impact to content hosting and phishing rather than same-origin script execution. |
| Impact | Signals are largely aligned toward real priority: the CVSS 3.1 vector AV:N/AC:L/PR:N/UI:N gives a pre-auth, low-complexity, no-interaction network attack, S:C captures the cross-tenant pivot, and I:H reflects the ability to write arbitrary files into another tenant's content path; C:L and A:N correctly reflect that this is a write/integrity primitive, not data exfiltration. No EPSS, KEV, or SSVC data was provided, and no public exploit identified at time of analysis, so exploitation likelihood must be inferred from accessibility - any internet-reachable Typebot instance publishing a bot with a file-input block is exposed, which is a broad surface for SaaS multi-tenant deployments. One caveat: real impact depends on whether the storage origin is served on the same web origin as the bot UI; if assets are served from a separate sandboxed domain, XSS impact drops to content-hosting/phishing rather than session theft against typebot.io users - verify per deployment. |
| Exploit ScenarioDerived | An attacker browses any internet-reachable Typebot instance, finds or generates a published bot URL that includes a file-input block, and calls the public generate-upload-url endpoint with a crafted fileName like 'public/<victim-workspace>/results/<victim-bot>/poc.html'. The server returns a presigned PUT URL targeting that key; the attacker PUTs an HTML or SVG payload (Content-Type is not bound by the signature) and links victims to the now-attacker-controlled URL under the victim tenant's path, triggering stored XSS or hosted phishing on the storage origin. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 18, 2026
Unauthenticated cross-tenant file upload in Typebot.io chatbot builder versions 3.16.1 and earlier allows anonymous visitors of any published bot containing a file-input block to write attacker-controlled HTML, SVG, or JavaScript into arbitrary subpaths of the shared public S3 bucket. The flaw stems from an unauthenticated presigned-URL endpoint that trusts a raw fileName parameter and does not bind Content-Type, enabling stored XSS on the storage origin and content hosting under other tenants' result paths. No public exploit identified at time of analysis, but the CVSS 9.3 (scope-changed) reflects significant cross-tenant impact.
RemediationAI
Vendor-released patch: 3.17.0 - upgrade to https://github.com/baptisteArno/typebot.io/releases/tag/v3.17.0, which is the primary fix and resolves both the fileName sanitization and the missing Content-Type binding on presigned URLs. If immediate upgrade is not possible, compensating controls include disabling or removing file-input blocks from all published bots (loses file-collection functionality), placing the /api/blocks/file-input/v3/generate-upload-url endpoint behind authentication or a WAF rule that rejects fileName values containing '/' (may break legitimate uploads that include subfolders), and serving the S3/MinIO public bucket from a sandboxed origin distinct from the Typebot app origin with Content-Security-Policy and Content-Disposition: attachment forced on text/HTML/SVG types (mitigates stored XSS but not content hosting). Refer to advisory GHSA-fp7x-6pqh-vhvf for vendor guidance.
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Typebot.io is an open-source chatbot/form builder (CPE cpe:2.3:a:baptistearno:typebot.io) that lets creators publish bots with file-upload blocks backed by S3-compatible object storage (AWS S3 or self-hosted MinIO). The vulnerable endpoint POST /api/blocks/file-input/v3/generate-upload-url is intended to mint short-lived presigned PUT URLs scoped to the uploader's bot, but it concatenates the client-supplied fileName directly into the public/ S3 key prefix without sanitization, and the presigned signature does not pin Content-Type. This is a classic CWE-22 path traversal expressed through forward-slash injection rather than '../' - S3/MinIO canonicalize '../' segments and reject the resulting signature mismatch, but raw '/' characters are preserved in the canonical key, letting an attacker pivot the upload into any sibling key including other tenants' published result directories.
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
AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:H/A:N
Unauthenticated network endpoint (AV:N/AC:L/PR:N/UI:N); cross-tenant write into a separate security authority gives S:C and I:H; minor C:L from key enumeration; no availability impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
DescriptionCVE.org
TypeBot is a chatbot builder tool. In versions 3.16.1 and earlier, POST /api/blocks/file-input/v3/generate-upload-url is unauthenticated and uses unsanitized fileName input to construct public/ S3 object keys, while issuing presigned PUT URLs that do not bind Content-Type. As a result, any anonymous visitor to a published bot with a file input can upload attacker-controlled HTML, SVG, or JS to attacker-chosen subpaths, including other tenants’ publicly served result paths, enabling arbitrary content hosting and potential stored XSS on the storage origin. ../ traversal is blocked by S3/MinIO canonicalization (signature mismatch), but forward-slash path injection is exploitable. This issue has been fixed in version 3.17.0.
Executive ViewAI
Typebot.io versions 3.16.1 and earlier contain a critical cross-tenant vulnerability enabling unauthenticated users to upload malicious files to shared cloud infrastructure, potentially compromising sensitive data across multiple customer environments. Organizations using Typebot.io for chatbot deployment with file-upload capabilities face immediate risk of data exfiltration and stored XSS attacks affecting hosted bots and customer records.
No vendor-released patch identified at time of analysis. Interim mitigations: (1) Disable file-input blocks across all published Typebot instances until patched version available; (2) Apply least-privilege IAM policies restricting S3 bucket uploads to authenticated Typebot service accounts only; (3) Enable S3 bucket versioning and access logging to audit upload activity; (4) Implement network segmentation isolating Typebot storage from other tenant data; (5) Monitor CloudTrail and S3 access logs for anomalous file write patterns; (6) Establish vendor SLA for emergency patch delivery.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
Affected Products (CPE)CVE.org
More in Typebot Io
View allServer-Side Request Forgery in Typebot chatbot builder versions 3.15.2 and prior allows unauthenticated remote attackers
Cross-workspace OAuth credential takeover in Typebot (open-source chatbot builder) before 3.17.0 lets a user holding onl
Cleartext storage of API bearer tokens in the self-hosted open-source Typebot chatbot builder (version 3.16.1) lets anyo
Stored cross-site scripting in Typebot chatbot builder versions 3.15.2 and prior allows a malicious imported or collabor
Stored cross-site scripting in Typebot (chatbot builder) versions 3.15.2 and prior lets an authenticated user upload a c
Unauthenticated S3 path traversal in Typebot versions prior to 3.17.0 allows any attacker to obtain presigned S3 PUT URL
Server-side request forgery in Typebot chatbot builder before version 3.17.2 allows remote unauthenticated attackers to
Server-side request forgery in Typebot before 3.17.2 lets an authenticated workspace editor or creator bypass the shared
Server-side request forgery in Typebot versions 3.15.2 and prior allows authenticated users to bypass the validateHttpRe
Credential exfiltration in Typebot prior to 3.17.0 allows a low-privilege guest workspace member to steal decrypted Open
Server-side request forgery in Typebot chatbot builder versions prior to 3.16.0 allows authenticated users to bypass SSR
Typebot's webhook resume endpoint exposes an insecure direct object reference flaw that allows any authenticated user ho
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB