CVE-2026-39966
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.
References
- https://github.com/baptisteArno/typebot.io/commit/b9530a089b43bfa6e79e3ff9cbfab921ce832f45
- https://github.com/baptisteArno/typebot.io/releases/tag/v3.16.0
- https://github.com/baptisteArno/typebot.io/security/advisories/GHSA-3fr5-999r-84qj
- https://github.com/baptisteArno/typebot.io/security/advisories/GHSA-3fr5-999r-84qj