Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessGain database read access (SQLi/backup/insider)
-
DeliveryDump ApiToken table
-
ExploitRead cleartext bearer tokens
-
ExecutionSend Authorization: Bearer requests to builder API
-
ImpactImpersonate users and access/modify their data
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V14 - Data Protection Encrypted storage of sensitive data
|
| Exploitation Conditions | Exploitation requires the attacker to first obtain read access to the Typebot application database - specifically the ApiToken table - via a separate channel such as SQL injection, an exposed or stolen database backup, or insider/administrative database access; the vulnerability itself provides no independent network entry point. Given that access, no further conditions apply: tokens are stored in cleartext in default configurations of version 3.16.1, so they are directly usable with no cracking, decryption, or additional privilege. Limiting factors are that a valid API token must actually exist for a target user, and that installations which never provisioned API tokens have nothing to steal; the primary constraint on real-world exploitation is achieving the prerequisite database read, which is why CVSS assigns AC:H despite AV:N/PR:N. |
| Impact | This is a genuine but conditional risk. The published CVSS 4.0 base score is 9.1 (Critical) with AV:N/AC:H/PR:N and high confidentiality/integrity impact, but the AC:H and the description itself make clear exploitation is not self-contained: an attacker must first obtain database read access through a separate vector (SQLi, backup exposure, or insider access). It should therefore be treated as an impact amplifier that turns any database-disclosure event into full multi-user account takeover, rather than a directly remotely-exploitable flaw. No CISA KEV listing and no public exploit identified at time of analysis, and no EPSS score was provided, so there is no evidence of active or automated exploitation. The real-world priority is highest for organizations that self-host Typebot with internet-exposed or multi-tenant databases, or that retain database backups in less-controlled storage; for those operators the flaw meaningfully raises the blast radius of any lower-severity database bug, so patching should not be deferred even though the raw 9.1 overstates standalone exploitability. Note the SQLi tag describes a plausible enabling vector, not a confirmed separate SQL injection vulnerability in this CVE - verify independently. |
| Exploit ScenarioDerived | An attacker exploits an unrelated SQL injection point, obtains a leaked database dump, or abuses insider database access to read the ApiToken table, and because tokens are stored in cleartext they immediately obtain valid bearer credentials for every user. They then send authenticated requests to the Typebot builder API with a stolen token (Authorization: Bearer <token>) to impersonate victims, exfiltrate or modify their bots and data - with no password or MFA challenge. No public exploit code is identified at time of analysis, and the AC:H reflects the required prior database access. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 11, 2026
Cleartext storage of API bearer tokens in the self-hosted open-source Typebot chatbot builder (version 3.16.1) lets anyone with read access to the backing database recover every user's builder-API credential verbatim and impersonate that user with no password or MFA. The tokens were persisted with the plaintext value returned by generateId(24) rather than a hash, so a single database disclosure - via SQL injection, an exposed backup, or insider access - yields full account takeover across all tenants. Version 3.17.0 remediates the flaw by SHA-256 hashing tokens at rest; there is no public exploit identified at time of analysis and it is not in CISA KEV.
RemediationAI
Vendor-released patch: 3.17.0 - upgrade self-hosted Typebot to v3.17.0 or later (https://github.com/baptisteArno/typebot.io/releases/tag/v3.17.0), which hashes tokens at rest and auto-migrates existing plaintext tokens to SHA-256 on their next authenticated use. Because pre-upgrade tokens sit in the database as plaintext and any prior database exposure may have already leaked them, revoke and reissue all existing API tokens after upgrading rather than relying solely on the transparent migration. If you cannot upgrade immediately, reduce the enabling exposure: restrict database network access to the application only, encrypt and tightly access-control database backups, audit for SQL injection exposure in the builder/viewer APIs, and rotate API tokens periodically - accepting that these controls limit but do not eliminate the underlying plaintext-at-rest weakness. Reference: advisory GHSA-9c96-gcg3-2662 and PR #2492.
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 is a Node.js/TypeScript chatbot builder (apps/builder and apps/viewer) that uses Prisma against a relational database (the SQLi tag and description point to a Postgres-style backend). API tokens are long-lived bearer credentials authenticating against the builder API. Root cause is CWE-312 (Cleartext Storage of Sensitive Information): handleCreateApiToken.ts stored the raw token string (data: { token: generateId(24) }) and authenticateUser/authenticateWithBearerToken compared the presented bearer value directly against that stored plaintext. Because the stored form equals the usable secret, database read = credential theft. The fix introduces packages/lib/src/apiToken.ts, which generates tokens with randomBytes(32).toString('base64url') and stores only createHash('sha256').update(token).digest('hex'); authentication now hashes the incoming token before lookup, with a transparent one-time migration that re-hashes any legacy plaintext token on first use and an isHashedApiToken guard so already-hashed values cannot be re-authenticated as plaintext.
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
CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
AC:H because exploitation depends on first obtaining database read access via a separate vector; C:H/I:H as stolen tokens enable full user impersonation, A:N as availability is unaffected.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
DescriptionCVE.org
TypeBot is a chatbot builder tool. In version 3.16.1, API tokens (bearer credentials used to authenticate against the builder API) are stored in the database as cleartext strings. An attacker who gains read access to the database (e.g., via SQL injection, backup exposure, or insider access) can extract all API tokens and impersonate any user without requiring a password or multi-factor authentication. Version 3.17.0 fixes the issue.
Executive ViewAI
Typebot self-hosted chatbot builders running version 3.16.1 or earlier are vulnerable to credential theft enabling complete account takeover across all user tenants. An attacker with database access-via SQL injection, backup exposure, or insider action-can recover unencrypted API tokens and impersonate any builder without authentication, exposing all chatbot configurations, integrations, and managed data.
Apply vendor patch: upgrade to Typebot version 3.17.0 or later.
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
SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.
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
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
EUVD-2026-56152
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB