Description
TypeBot is a chatbot builder tool. In versions 3.15.2, the getLinkedTypebots API endpoint returns full bot definitions to any authenticated user who references a target bot ID in a Typebot Link block, regardless of workspace ownership, leading to IDOR. The authorization check uses Array.filter() with an async callback — since filter() is synchronous, the callback always returns a truthy Promise, so the access control predicate is never actually evaluated. Any authenticated Typebot user can read the full definition of any other workspace's private bots, including: all conversation blocks and logic flow, variable values embedded in the bot (credentials, API keys, PII), webhook URLs and integration configurations. This issue has been fixed in version 3.16.0.
Published: 2026-05-22
Score: 6.5 Medium
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The getLinkedTypebots API endpoint in TypeBot versions prior to 3.16.0 exposes a flaw where the authorization check relies on Array.filter() with an async callback. Since filter executes synchronously, the callback returns a Promise that evaluates truthy, so the permission check is never applied. Any authenticated user can provide a bot ID from another workspace and receive the full bot definition, including conversation blocks, logic flows, stored variable values, webhook URLs, and embedded credentials or PII. This constitutes an IDOR that can be abused to exfiltrate sensitive information from private bots of other workspaces.

Affected Systems

The affected product is TypeBot, a chatbot builder tool by typebot.io. Versions affected are 3.15.2, and any earlier releases prior to the 3.16.0 fix. The issue was officially fixed in release 3.16.0.

Risk and Exploitability

The vulnerability carries a CVSS score of 6.5, indicating moderate severity. No EPSS score is published and the vulnerability is not listed in the CISA KEV catalog. Exploitation requires the attacker to be an authenticated user, but once authenticated they can retrieve the full definition of any bot in other workspaces by referencing its ID in a Typebot Link block. The attack vector is inferred to be an authenticated request to the getLinkedTypebots endpoint with a foreign bot ID; the description explicitly notes that any authenticated Typebot user can read private bot definitions, illustrating that the flaw is exploitable by ordinary users with valid credentials.

Generated by OpenCVE AI on May 22, 2026 at 19:20 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade TypeBot to version 3.16.0 or later to eliminate the async filter bypass.
  • If upgrading is delayed, restrict access to the getLinkedTypebots API so that only workspace owners can retrieve bot definitions, or temporarily disable cross‑workspace linking features.
  • Continuously monitor API usage logs for unusual patterns of bot definition access and audit bot configurations for exposed credentials.

Generated by OpenCVE AI on May 22, 2026 at 19:20 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 22 May 2026 19:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 22 May 2026 18:45:00 +0000

Type Values Removed Values Added
Description TypeBot is a chatbot builder tool. In versions 3.15.2, the getLinkedTypebots API endpoint returns full bot definitions to any authenticated user who references a target bot ID in a Typebot Link block, regardless of workspace ownership, leading to IDOR. The authorization check uses Array.filter() with an async callback — since filter() is synchronous, the callback always returns a truthy Promise, so the access control predicate is never actually evaluated. Any authenticated Typebot user can read the full definition of any other workspace's private bots, including: all conversation blocks and logic flow, variable values embedded in the bot (credentials, API keys, PII), webhook URLs and integration configurations. This issue has been fixed in version 3.16.0.
Title TypeBot: Async filter() bypasses authorization, allowing IDOR in getLinkedTypebots and leaking cross-workspace bot definitions
Weaknesses CWE-863
References
Metrics cvssV3_1

{'score': 6.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-05-22T19:08:27.808Z

Reserved: 2026-04-08T00:01:47.627Z

Link: CVE-2026-39966

cve-icon Vulnrichment

Updated: 2026-05-22T18:59:03.590Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-05-22T19:30:44Z

Weaknesses