Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessLocate public Typebot chatbot
-
DeliveryExtract typebotId and blockId from embed or share URL
-
ExploitCraft GET request with arbitrary filePath parameter
-
ExecutionReceive valid presigned S3 PUT URL for target key
-
PersistIssue PUT to overwrite arbitrary S3 object
-
ImpactTamper with private or cross-tenant data
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The deprecated endpoint GET /api/v1/typebots/{typebotId}/blocks/{blockId}/storage/upload-url must be present and reachable - it was removed in 3.17.0, so only pre-3.17.0 deployments are vulnerable. S3 storage must be configured (S3_ENDPOINT, S3_ACCESS_KEY, and S3_SECRET_KEY must all be set); the handler explicitly returns an INTERNAL_SERVER_ERROR if any are missing, making the endpoint non-exploitable without S3. The attacker must supply a valid typebotId for any public typebot and a valid blockId corresponding to a file input block within that typebot - these are typically visible in embed HTML, share URLs, or can be enumerated from public chatbot API responses. No authentication is required (CVSS PR:N confirmed). Exploitation is limited to deployments with S3 storage active and running a version prior to 3.17.0; the filePath parameter is passed entirely unvalidated to the presigned URL generator, imposing no restriction on target key path. |
| Impact | The CVSS 8.2 score (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:L) accurately reflects the attack profile: network-accessible, low complexity, requiring no authentication or user interaction. The I:H rating corresponds to unrestricted write access to arbitrary S3 object paths including private/ namespaces and cross-tenant public/ paths. A:L reflects partial availability impact from potential file overwriting. C:N is consistent with the endpoint issuing only presigned PUT URLs, not GET - preventing direct data exfiltration via this vector alone. Real-world risk is highest for multi-tenant or SaaS Typebot deployments where tenant isolation in S3 is a security boundary. Self-hosted single-tenant deployments face a lower blast radius but are still vulnerable to arbitrary bucket writes. No EPSS data was provided in the input and the CVE is not in CISA KEV, so widespread in-the-wild exploitation is not confirmed. However, the low attack complexity and zero authentication requirement mean the theoretical exploitation bar is extremely low for any attacker who can identify a public Typebot instance. |
| Exploit ScenarioDerived | An attacker visits any publicly shared Typebot chatbot and extracts the typebotId and blockId values from the embed code or network traffic - both are exposed in standard chatbot share links. The attacker then sends a GET request to /api/v1/typebots/{typebotId}/blocks/{blockId}/storage/upload-url?filePath=private/other-tenant/sensitive-config.json, receives a valid presigned S3 PUT URL scoped to that exact key, and issues a PUT request with arbitrary content, overwriting a private object in the shared S3 bucket. No public exploit code has been confirmed at time of analysis, but the attack requires only curl or any HTTP client. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 11, 2026
Unauthenticated S3 path traversal in Typebot versions prior to 3.17.0 allows any attacker to obtain presigned S3 PUT URLs for arbitrary object keys - including other tenants' private paths - by supplying an attacker-controlled filePath parameter to a deprecated public upload endpoint. Exploitation requires only knowledge of a valid public typebotId and blockId, both of which are typically visible in chatbot embed codes or share links. No public exploit has been confirmed at time of analysis, and this CVE does not appear in CISA KEV, but the CVSS:3.1 AV:N/AC:L/PR:N/UI:N vector indicates trivial remote unauthenticated exploitation against any Typebot deployment with S3 storage configured.
RemediationAI
Upgrade to Typebot version 3.17.0 or later, available at https://github.com/baptisteArno/typebot.io/releases/tag/v3.17.0. The fix (PR #2459, commit 7ae4c007) removes the vulnerable handleGetUploadUrl.ts handler entirely, eliminating the deprecated endpoint. If immediate upgrade is not feasible, operators should block HTTP requests matching the pattern GET /api/v1/typebots/*/blocks/*/storage/upload-url at a WAF or reverse proxy layer - note this will break file upload functionality for any chatbot flows that still depend on this deprecated endpoint, so usage should be audited before blocking. Additionally, restricting the S3 bucket policy to enforce path-based conditions (e.g., requiring the presigned URL key to start with a per-tenant prefix) would serve as a defense-in-depth control independent of the application fix, limiting cross-tenant write impact even if other path traversal issues exist. References: GHSA-m7f5-3wcm-x2c4 and https://github.com/baptisteArno/typebot.io/pull/2459.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Typebot.io is a Node.js open-source chatbot builder that uses Amazon S3 (or S3-compatible storage) for user file uploads. The vulnerable endpoint GET /api/v1/typebots/{typebotId}/blocks/{blockId}/storage/upload-url was a deprecated handler implemented in packages/blocks/fileInput/src/api/deprecated/handleGetUploadUrl.ts. It called generatePresignedUrl() by passing the user-supplied filePath parameter directly, without any sanitization, prefix enforcement, or path scoping. Authorization only verified that the referenced typebot existed as a public entity and that the referenced block was a file input block - it never validated that the requested filePath was within the expected upload namespace for that typebot or session. This constitutes CWE-862 (Missing Authorization): the code authenticated the typebot context but failed to authorize the specific resource (the S3 key) being requested. CPE cpe:2.3:a:baptistearno:typebot.io:*:*:*:*:*:*:*:* covers all versions prior to 3.17.0. The endpoint was deleted entirely in the fix rather than patched, confirming the design was fundamentally insecure.
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:U/C:N/I:H/A:L
No authentication required and network-accessible with low complexity; I:H for unrestricted S3 key write; C:N because the endpoint issues PUT-only presigned URLs, not read access.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
TypeBot is a chatbot builder tool. Versions prior to 3.17.0 expose a deprecated public upload endpoint at GET /api/v1/typebots/{typebotId}/blocks/{blockId}/storage/upload-url that accepts an attacker-controlled filePath and returns a presigned S3 PUT URL for that exact key. Because the endpoint only checks that the referenced typebot is public and that the referenced block is a file input block, an unauthenticated attacker who knows a valid public typebotId and blockId can request presigned upload URLs for arbitrary objects in the shared bucket, including private/... and other tenants' public/... paths. Version 3.17.0 fixes this issue.
Executive ViewAI
Typebot chatbot deployments using Amazon S3 storage contain an unauthenticated path traversal vulnerability (CVE-2026-48763) enabling attackers to generate presigned URLs for arbitrary file uploads, including cross-tenant data access in shared environments. No vendor-released patch identified at time of analysis, creating immediate exposure for data confidentiality and regulatory compliance for all affected organizations.
No vendor-released patch identified at time of analysis. Interim mitigations: (1) Disable or restrict network access to the deprecated upload endpoint through WAF or firewall rules; (2) Enable S3 object versioning and Object Lock where feasible for rapid rollback of unauthorized uploads; (3) Enforce strict IAM bucket policies with explicit allow-lists for Typebot service principals; (4) Enable CloudTrail logging with real-time alerts for presigned URL generation and cross-tenant or cross-organization PutObject operations.
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
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
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
Unauthenticated cross-tenant file upload in Typebot.io chatbot builder versions 3.16.1 and earlier allows anonymous visi
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
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
EUVD-2026-56979
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB