Description
TypeBot is a chatbot builder tool. In versions 3.15.2 and prior, the bot engine's the findResult query does not filter results by typebotId, allowing an authenticated user to load result data (user answers, variable values) from a different typebot by supplying a foreign resultId to the startChat endpoint. Exploitation is constrained by CUID2's cryptographically random 24-character IDs (making brute-force infeasible), the requirement that rememberUser be enabled, and the need for matching variable names in the current typebot. If successfully exploited, an attacker can access the original user's previous answers, session variable values, and hasStarted flag, potentially exposing PII like names, emails, and phone numbers. This issue has been fixed in version 3.16.0.
Problem types
CWE-639: Authorization Bypass Through User-Controlled Key
CWE-862: Missing Authorization
Product status
References
github.com/...bot.io/security/advisories/GHSA-f475-7m4x-m6mx
github.com/...bot.io/security/advisories/GHSA-f475-7m4x-m6mx
github.com/...ommit/73162634e6bdebd37a1a571db4062d30854e0400
github.com/baptisteArno/typebot.io/releases/tag/v3.16.0