Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to Typebot instance
-
DeliveryInitiate Google Sheets OAuth flow to obtain valid OAuth code
-
ExploitDecode base64 state parameter and replace workspaceId/typebotId/blockId with victim values
-
ExecutionRe-encode tampered state as base64 and complete OAuth callback
-
PersistServer creates Google Sheets credential record in victim workspace
-
ImpactOptionally attach credential to victim Typebot block
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 | Exploitation requires: (1) a valid authenticated Typebot session - the callback route itself enforces authentication, so unauthenticated abuse is not possible; (2) the ability to complete a Google OAuth authorization-code flow and obtain a valid Google OAuth code, which is achievable by any authenticated Typebot user who has connected or attempts to connect their own Google account; (3) knowledge of the target workspaceId, and optionally typebotId and blockId, to inject credentials into a specific victim resource. The limiting factors are the PR:L authentication requirement (eliminates anonymous attackers) and the need for target resource IDs (limits opportunistic scanning but does not prevent targeted abuse between users who share any context, such as invitations or public bot links that may expose IDs). Non-default configuration is not required - any Typebot instance with Google Sheets integration enabled is vulnerable. |
| Impact | The provided CVSS vector (AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:N) scores 7.1 and accurately reflects the threat profile: network-reachable, low complexity, requires a valid authenticated session (PR:L), with high integrity impact. The C:L component likely accounts for potential indirect exposure of configuration or credential metadata across workspace boundaries. One meaningful friction point not reflected in CVSS is that successful exploitation against a specific target workspace requires the attacker to know that workspace's internal IDs (workspaceId, typebotId, blockId); this limits opportunistic mass exploitation but does not prevent targeted abuse, especially in multi-tenant cloud deployments where IDs may be discoverable through shared links or invitations. No EPSS data was provided in the input, so exploitation probability cannot be numerically assessed. No CISA KEV listing and no public POC are known at time of analysis, placing this in a monitor-and-patch posture rather than emergency response, but the fix is already available and upgrade is straightforward. |
| Exploit ScenarioDerived | An authenticated Typebot user on a shared or multi-tenant instance initiates a legitimate Google Sheets OAuth flow, intercepts or reconstructs the state parameter, re-encodes it as base64 JSON with the workspaceId and typebotId of a victim workspace they have no access to, and completes the Google OAuth code exchange. The callback processes the tampered state and stores the attacker's Google Sheets credentials under the victim workspace, and if blockId is also known, wires those credentials into a victim Typebot's integration block - effectively hijacking the integration without the workspace owner's knowledge. No public proof-of-concept code has been identified, but the attack is straightforward given knowledge of the state encoding format, which is described in the advisory. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 11, 2026
Cross-workspace credential injection in Typebot's Google Sheets OAuth callback allows an authenticated attacker to plant Google Sheets credentials into workspaces they do not own, and - if target IDs are known - attach those credentials to blocks inside victim Typebots. The root cause is that the OAuth callback decodes and blindly trusts a client-supplied, unprotected base64 JSON state parameter without verifying the authenticated user holds write access to the referenced workspaceId or typebotId. All Typebot versions prior to 3.17.0 are affected; no public exploit has been identified and this vulnerability is not listed in the CISA KEV catalog.
RemediationAI
The primary fix is to upgrade to Typebot version 3.17.0, available at https://github.com/baptisteArno/typebot.io/releases/tag/v3.17.0. This release introduces cryptographic signing of the OAuth state parameter (with nonce and HttpOnly cookie binding) and adds explicit write-authorization checks against workspace membership and Typebot collaborators before processing the callback. For self-hosted operators who cannot immediately upgrade, a partial compensating control is to restrict network access to the OAuth callback endpoint (/api/...) to authenticated internal users only using a reverse-proxy ACL, though this does not eliminate the authorization bypass for users with existing valid sessions. Disabling the Google Sheets integration entirely in the self-hosted configuration eliminates the attack surface completely if the feature is not needed. There are no known workarounds that fully replicate the patch's protection without upgrading.
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 an open-source chatbot builder (cpe:2.3:a:baptistearno:typebot.io) that integrates with Google Sheets via OAuth 2.0. During the authorization-code flow, the OAuth provider returns a state parameter that Typebot encodes as base64 JSON containing workspaceId, typebotId, blockId, and redirectUrl. Prior to 3.17.0, the callback handler decoded this client-supplied value and used its contents directly to create or update database records without any HMAC or signature verification and - critically - without calling authorization helpers to confirm the session user had write access to the identified workspace or Typebot (CWE-862: Missing Authorization). The PR #2501 fix introduces getAuthorizedGoogleSheetsOAuthResources, which queries the database for workspace membership and calls isWriteWorkspaceForbidden and isWriteTypebotForbidden before proceeding, and adds cryptographically signed, nonce-backed state with an HttpOnly SameSite=Lax cookie to prevent tampering.
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:L/I:H/A:N
Network callback endpoint requires authenticated session (PR:L); attacker can inject credentials cross-workspace (I:H) with potential minor information exposure (C:L); no availability impact.
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 Google Sheets OAuth callback decodes a base64-encoded JSON state parameter and trusts the embedded workspaceId, typebotId, blockId, and redirectUrl without cryptographic integrity protection or authorization checks. The callback route is authenticated, but it does not verify that the authenticated user has write access to the target workspace or Typebot before creating credentials in the workspace or updating Typebot groups. An authenticated user who can obtain a valid Google OAuth code can alter the state value to create Google Sheets credentials in another workspace and, if target IDs are known, attach those credentials to a block in another Typebot. Version 3.17.0 patches the issue.
Executive ViewAI
Typebot versions prior to 3.17.0 contain a credential injection vulnerability affecting Google Sheets integration, allowing authenticated users to compromise data access across the organization's automation infrastructure. This vulnerability creates risk of unauthorized access to shared resources and potential workflow manipulation by internal users or compromised accounts. Immediate inventory and access controls are required before the vendor patch becomes available.
No vendor-released patch identified at time of analysis. Interim mitigations: restrict workspace and credential configuration access to privileged administrators, implement multi-step approval for Google Sheets integrations, establish comprehensive audit logging on OAuth callbacks and credential assignments, minimize Google Sheets API permission scopes to essential operations only, segregate workspaces by department or function to limit blast radius of credential compromise, and monitor for anomalous credential injection patterns in workspace audit logs.
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-56243
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB