Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to Typebot instance
-
DeliveryIdentify or guess target workspace ID
-
ExploitPOST /api/sheets/getSheets with victim workspaceId
-
ExecutionReceive decrypted Google OAuth credentials
-
PersistReplay tokens against Google APIs
-
ImpactExfiltrate victim spreadsheet 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 attacker must hold a valid authenticated session on the same Typebot instance (CVSS PR:L confirmed). The target workspace must have at least one Google Sheets integration block configured with stored OAuth credentials - workspaces without Google Sheets integrations do not expose credential material via this endpoint. No special role, elevated privilege, or non-default configuration is required on the attacker's side beyond basic account registration. Exploitation is limited to users on the same Typebot deployment (cloud instance or self-hosted); attackers cannot reach the endpoint without a valid session on that specific instance. There is no user interaction requirement and no client-side component - the attack is entirely server-side via API call. The scope is unchanged (S:U), meaning the vulnerability does not cross into other systems from Typebot's perspective, though the leaked OAuth tokens can be replayed against Google APIs independently. |
| Impact | The CVSS 7.1 score (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N) accurately captures the threat profile: the attack is network-reachable, requires no special conditions beyond a valid Typebot account, and exposes high-confidentiality OAuth credentials. The integrity sub-score (I:L) reflects that the leaked OAuth tokens could be used downstream to interact with the victim workspace's Google Sheets, though Typebot itself does not perform writes through this endpoint. No EPSS score was included in the provided intelligence, and the vulnerability is not listed in the CISA KEV catalog, suggesting no confirmed mass exploitation to date. The absence of a public exploit somewhat moderates urgency, but the attack is mechanically trivial - any authenticated Typebot user need only substitute a target workspace ID in a standard API call. In a multi-tenant cloud deployment, this is equivalent to a horizontal privilege escalation requiring zero enumeration beyond knowing or guessing a workspace ID, meaning even a mid-sized municipal IT team in kielce running a self-hosted TypeBot instance shared across departments would face realistic cross-tenant credential exposure. The primary blast radius extends beyond Typebot itself to the connected Google account, since OAuth tokens can be replayed against Google APIs directly. |
| Exploit ScenarioDerived | An attacker with a free or trial Typebot account enumerates or guesses the workspace ID of a target organization (workspace IDs may be predictable or observable via shared bot links). They send a crafted |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 11, 2026
Unauthorized cross-workspace Google Sheets credential exposure in Typebot prior to version 3.17.0 allows any authenticated user to call the POST /api/sheets/getSheets endpoint with an arbitrary workspace ID, bypassing membership checks entirely. The handler decrypts and returns the target workspace's stored Google Sheets OAuth tokens along with spreadsheet metadata (sheet names, IDs, and column headers), constituting a direct credential theft vector against any workspace with a Google Sheets integration configured. No public exploit code or active exploitation (CISA KEV) has been identified at time of analysis, but the low exploitation complexity makes this a credible insider or multi-tenant threat.
RemediationAI
Upgrade to Typebot version 3.17.0, which introduces mandatory workspace membership validation in the handleGetSheets handler before any credential decryption occurs. The fix is confirmed via GitHub release tag v3.17.0 (https://github.com/baptisteArno/typebot.io/releases/tag/v3.17.0) and the merged PR at https://github.com/baptisteArno/typebot.io/pull/2467. For operators unable to upgrade immediately, a targeted compensating control is to revoke and rotate all Google Sheets OAuth credentials stored in affected Typebot workspaces via the Google Account security console - this eliminates the value of any credentials already exfiltrated. Additionally, network-level restriction of the POST /api/sheets/getSheets endpoint to trusted IP ranges (e.g., only builder UI origins via a reverse proxy rule) would raise the bar for exploitation, though it does not close the authorization gap. Disabling Google Sheets integrations workspace-wide until patching is complete is the most conservative option, with the trade-off that all Sheets-dependent chatbot flows will break. Rotating credentials post-patch is strongly recommended to address any pre-patch exfiltration.
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 (cpe:2.3:a:baptistearno:typebot.io:*:*:*:*:*:*:*:*) is an open-source chatbot builder implemented as a Next.js monorepo. Its Google Sheets integration stores OAuth credentials per workspace in a Prisma-managed database, with credentials encrypted at rest. The handleGetSheets API handler (apps/builder/src/features/blocks/integrations/googleSheets/api/handleGetSheets.ts) accepted a caller-supplied workspaceId parameter and decrypted then returned credentials for that workspace without verifying that the authenticated caller was a member of that workspace. CWE-862 (Missing Authorization) is the precise root cause: the function had authentication (a valid user session) but no authorization check - it never called isReadWorkspaceForbidden or any equivalent membership gate. The PR diff confirms the fix adds a prisma.workspace.findFirst lookup followed by an isReadWorkspaceFobidden(workspace, user) guard that throws ORPCError('NOT_FOUND') on mismatch, preventing unauthorized callers from reaching the credential decryption logic.
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:L/UI:N/S:U/C:H/I:L/A:N
PR:L confirmed by required authenticated session; C:H from decrypted OAuth credential exposure; I:L from potential downstream Google API write abuse via stolen tokens; A:N as no availability impact applies.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
TypeBot is a chatbot builder tool. Prior to version 3.17.0, the handleGetSheets API handler (POST /api/sheets/getSheets) does not validate workspace membership, allowing any authenticated user to access and decrypt another workspace's Google Sheets OAuth credentials and retrieve spreadsheet data (sheet names, IDs, column headers). Version 3.17.0 fixes the issue.
Executive ViewAI
Typebot versions prior to 3.17.0 expose Google Sheets OAuth credentials to any authenticated user, allowing credential theft across workspace boundaries in multi-tenant deployments. Organizations using Typebot with Google Sheets integrations face unauthorized access to their connected Google accounts and sensitive spreadsheet data. Immediate credential rotation and platform isolation are required to prevent customer data compromise.
Vendor-released patch: version 3.17.0 or later. Interim mitigation before patching: disable Google Sheets integration entirely; restrict network access to POST /api/sheets/getSheets endpoint to administrative users only; rotate all Google OAuth tokens immediately; enable comprehensive audit logging on credential-related 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
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
EUVD-2026-56235
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB