Skip to main content

Typebot CVE-2026-28444

MEDIUM
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-05-22 GitHub_M
6.5
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate with low-privilege Typebot account
  2. Delivery
    Obtain or enumerate victim resultId via webhook/log leakage
  3. Exploit
    Craft GET request to getResultLogs with own typebotId and victim resultId
  4. Execution
    Server authorizes against attacker typebotId, fetches log by resultId alone
  5. Impact
    Receive execution log containing HTTP responses, AI outputs, webhook payloads

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
Exploitation Conditions

The attacker must be authenticated to the Typebot platform with at least a low-privilege account (CVSS PR:L confirmed). The vulnerability is triggered by calling the getResultLogs API endpoint with any valid resultId from any workspace; the attacker needs their own typebotId (from any bot they control) to pass the authorization check. The victim's resultId must be known or enumerable - Typebot result IDs are typically UUIDs, so bulk enumeration is impractical but leakage via webhooks, browser history, or other API responses is plausible. No special server configuration or non-default feature flag is required - the vulnerable code path is active in all default Typebot deployments running an affected version. Exploitation is limited to confidentiality impact only (read-only); no write or delete operations are exposed through this flaw.

Impact

CVSS 6.5 (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N) correctly reflects a network-reachable, low-complexity, authenticated attack with high confidentiality impact and no integrity or availability effect. The PR:L vector is the primary limiting factor - the attacker must already hold a valid Typebot account, which restricts the exposed population to registered or compromised platform users. Attack complexity is genuinely low once a resultId is obtained; UUIDs used as primary keys may be guessable or leakable through other API interactions (e.g., webhook logs, URL parameters). No EPSS data was provided; given the absence of KEV listing and no identified POC, opportunistic mass exploitation appears unlikely at this time, but targeted abuse by malicious tenants on shared Typebot instances is a realistic concern. The SSVC technical impact is rated partial (confidentiality only, scoped to one result per request), but webhook payloads and AI outputs can contain PII, credentials, or business-sensitive data, elevating real-world severity above the raw CVSS score suggests. The oversight nature of the bug - confirmed by the fact that all peer endpoints already perform the correct check - means it is likely straightforward to exploit without specialized knowledge.

Exploit ScenarioDerived

An attacker with a legitimate low-privilege Typebot account sends a GET request to the getResultLogs endpoint, substituting their own valid typebotId for authorization while supplying a victim's resultId (obtained via enumeration, intercepted webhook, or leaked URL). The server authorizes the request against the attacker's typebot, fetches the log record by resultId alone, and returns the full execution log - potentially including webhook response bodies, AI model outputs with customer data, and internal integration payloads - without any cross-ownership check. No public proof-of-concept code has been identified, but the attack requires only standard HTTP tooling and knowledge of the API contract.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – May 22, 2026

Insecure Direct Object Reference (IDOR) in Typebot's getResultLogs API endpoint allows any authenticated user to read execution logs belonging to other workspaces by supplying an arbitrary victim resultId alongside their own authorized typebotId. The endpoint authorizes the caller by typebotId but fetches log records by resultId alone, skipping cross-ownership validation that all peer endpoints in the same router correctly enforce. Exploitation exposes sensitive runtime data including HTTP response bodies, AI model outputs, and webhook payloads. No public exploit or CISA KEV listing has been identified at time of analysis, but the straightforward nature of the IDOR - requiring only a valid session and a guessed or enumerated resultId - makes unauthorized data access realistic for any authenticated platform user.

RemediationAI

Upgrade Typebot to v3.16.0 or later, which contains the validated fix per the GitHub release at https://github.com/baptisteArno/typebot.io/releases/tag/v3.16.0 and the patching commit at https://github.com/baptisteArno/typebot.io/commit/d82b2d47c86ae614a08d4073c669ca64442faff2. The security advisory is published at https://github.com/baptisteArno/typebot.io/security/advisories/GHSA-c63p-mqx5-75r7. If an immediate upgrade is not feasible, network-layer mitigations are limited because the vulnerability resides in authenticated API logic; however, operators can restrict API access to trusted IP ranges or require VPN for builder access to limit the pool of authenticated users who could exploit the flaw. Disabling cross-workspace result log sharing or temporarily restricting the /api/typebots/{id}/results/{resultId}/logs endpoint via a reverse proxy rule are short-term options, though the latter may break legitimate logging workflows. Patch application is the only complete remediation.

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 is an open-source chatbot builder (cpe:2.3:a:baptistearno:typebot.io:*:*:*:*:*:*:*:*) with a tRPC/Next.js API layer. The vulnerable handler, handleGetResultLogs in apps/builder/src/features/results/api/handleGetResultLogs.ts, performs a Prisma database query using only the caller-supplied resultId as the lookup key, without joining or filtering on typebotId. CWE-639 (Authorization Through User-Controlled Key) precisely describes this root cause: authorization decisions rely on a user-controlled identifier (typebotId) that is never bound to the resource being fetched (resultId), creating a horizontal privilege escalation path. The fix, visible in commit d82b2d47c86ae614a08d4073c669ca64442faff2, changes the Prisma where clause from a flat resultId lookup to a compound condition requiring both id: resultId and typebotId: typebotId to match simultaneously, bringing the handler in line with all sibling endpoints.

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

Vendor (GitHub_M) PRIMARY 6.5 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N

Primary rating from Vendor (GitHub_M) · only source for this CVE.

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

DescriptionCVE.org

Typebot is a chatbot builder tool. In versions 3.15.2 and prior, the getResultLogs API endpoint authorizes the caller against the provided typebotId but fetches logs solely by resultId without verifying that the result belongs to the authorized typebot, leading to IDOR. An authenticated attacker can supply their own typebotId alongside any victim's resultId to read execution logs from other workspaces, leaking sensitive data including HTTP response bodies, AI model outputs, and webhook payloads. Every other result-scoped endpoint in the same router properly validates that the resultId belongs to the authorized typebotId. This confirms the missing check is an oversight, not a design choice. This issue has been fixed in version 3.15.2.

Threat Intelligence Overview

EPSS Score
0.0%
Top 89% exploitable
Data Quality
5 sources
Confidence: Medium
NVD CVE.org EPSS Vulnrichment GitHub

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.0%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Affected Products (CPE)CVE.org

cpe:2.3:a:baptistearno:typebot.io:*:*:*:*:*:*:*:*
CVE-2026-33712 CRITICAL
10.0 May 22

Server-Side Request Forgery in Typebot chatbot builder versions 3.15.2 and prior allows unauthenticated remote attackers

CVE-2026-48765 CRITICAL
9.9 Aug 11

Cross-workspace OAuth credential takeover in Typebot (open-source chatbot builder) before 3.17.0 lets a user holding onl

CVE-2026-48768 CRITICAL
9.3 Jun 17

Unauthenticated cross-tenant file upload in Typebot.io chatbot builder versions 3.16.1 and earlier allows anonymous visi

CVE-2026-47702 CRITICAL
9.1 Aug 11

Cleartext storage of API bearer tokens in the self-hosted open-source Typebot chatbot builder (version 3.16.1) lets anyo

CVE-2026-28445 HIGH
8.7 May 22

Stored cross-site scripting in Typebot chatbot builder versions 3.15.2 and prior allows a malicious imported or collabor

CVE-2026-39970 HIGH
8.5 May 22

Stored cross-site scripting in Typebot (chatbot builder) versions 3.15.2 and prior lets an authenticated user upload a c

CVE-2026-48763 HIGH
8.2 Aug 11

Unauthenticated S3 path traversal in Typebot versions prior to 3.17.0 allows any attacker to obtain presigned S3 PUT URL

CVE-2026-48764 HIGH
8.2 Jun 17

Server-side request forgery in Typebot chatbot builder before version 3.17.2 allows remote unauthenticated attackers to

CVE-2026-49213 HIGH
8.1 Jul 10

Server-side request forgery in Typebot before 3.17.2 lets an authenticated workspace editor or creator bypass the shared

CVE-2026-39965 HIGH
7.7 May 22

Server-side request forgery in Typebot versions 3.15.2 and prior allows authenticated users to bypass the validateHttpRe

CVE-2026-48766 HIGH
7.6 Aug 11

Credential exfiltration in Typebot prior to 3.17.0 allows a low-privilege guest workspace member to steal decrypted Open

CVE-2026-34207 HIGH
7.6 May 22

Server-side request forgery in Typebot chatbot builder versions prior to 3.16.0 allows authenticated users to bypass SSR

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy