CVE-2026-28444 Overview
Typebot is an open-source chatbot builder tool maintained by baptisteArno. CVE-2026-28444 is an Insecure Direct Object Reference (IDOR) vulnerability [CWE-639] affecting Typebot versions 3.15.2 and prior. The getResultLogs API endpoint authorizes the caller against the supplied typebotId but fetches logs solely by resultId. The endpoint does not verify that the result belongs to the authorized typebot. An authenticated attacker can pair their own typebotId with any victim's resultId to read execution logs from other workspaces.
Critical Impact
Authenticated attackers can read cross-workspace execution logs containing HTTP response bodies, AI model outputs, and webhook payloads.
Affected Products
- Typebot versions prior to 3.15.2
- Typebot self-hosted deployments
- Typebot cloud workspaces sharing the affected endpoint
Discovery Timeline
- 2026-05-22 - CVE-2026-28444 published to NVD
- 2026-05-22 - Last updated in NVD database
Technical Details for CVE-2026-28444
Vulnerability Analysis
The flaw resides in the getResultLogs tRPC endpoint within Typebot's result-scoped router. The endpoint accepts two parameters: typebotId and resultId. Authorization logic validates that the authenticated user owns or has access to the supplied typebotId. The query that retrieves execution logs, however, filters only on resultId without joining or constraining against the authorized typebotId.
This allows an authenticated attacker to submit a typebotId they legitimately own alongside a resultId belonging to any other workspace. The server returns the logs because the lookup never confirms the relationship between the two identifiers. Execution logs in Typebot frequently contain sensitive runtime artifacts including HTTP response bodies from integrations, generative AI model outputs, and webhook payloads with credentials or personal data.
Every other result-scoped endpoint in the same router validates that the resultId belongs to the authorized typebotId. The missing check is therefore an implementation oversight rather than a design choice.
Root Cause
The root cause is a missing ownership check between two related identifiers in a multi-tenant authorization model. The endpoint enforces tenant authorization on one parameter but performs the data lookup using a second, attacker-controlled parameter that is never cross-validated.
Attack Vector
Exploitation requires only an authenticated account with at least one valid typebotId. The attacker enumerates or guesses target resultId values, then invokes getResultLogs with their own typebotId and the victim's resultId. The request succeeds over the network with low privileges and no user interaction.
No verified public exploit code is available. The patch commit d82b2d47c86ae614a08d4073c669ca64442faff2 is published in the GitHub Security Advisory GHSA-c63p-mqx5-75r7.
Detection Methods for CVE-2026-28444
Indicators of Compromise
- Requests to the getResultLogs endpoint where the authenticated user's workspace does not own the returned resultId.
- Spikes in getResultLogs calls from a single account across many distinct resultId values.
- Application logs showing successful log retrieval paired with typebotId values inconsistent with the queried resultId.
Detection Strategies
- Instrument the getResultLogs handler to log both typebotId and the typebotId actually associated with each retrieved resultId; alert on mismatches.
- Review historical tRPC access logs for getResultLogs calls and correlate typebotId ownership against the resolved resultId owner.
- Apply rate-limiting and anomaly detection on result-scoped API calls per authenticated principal.
Monitoring Recommendations
- Forward Typebot application and reverse-proxy logs to a centralized analytics platform for cross-tenant access analysis.
- Monitor outbound data volume from the API tier following authenticated sessions to identify bulk log scraping.
- Track authentication events alongside API access patterns to attribute suspicious enumeration to specific accounts.
How to Mitigate CVE-2026-28444
Immediate Actions Required
- Upgrade Typebot to version 3.15.2 or later, available in the GitHub Release v3.16.0 and subsequent releases.
- Audit access logs for prior getResultLogs calls and identify any cross-tenant retrievals.
- Rotate any secrets, tokens, or credentials that may have been exposed in execution logs, including webhook signing keys and integration API keys.
Patch Information
The fix is delivered in commit d82b2d47c86ae614a08d4073c669ca64442faff2 and shipped in Typebot version 3.15.2. The patch adds the missing validation so the endpoint confirms the resultId belongs to the authorized typebotId before returning logs. Self-hosted operators should redeploy from the patched release tag.
Workarounds
- Restrict access to the Typebot API to trusted authenticated users until the upgrade is applied.
- Place the application behind a reverse proxy that enforces per-user rate limits on result-scoped endpoints.
- Temporarily disable or gate the getResultLogs endpoint at the proxy layer if immediate patching is not feasible.
# Upgrade Typebot to the patched release
git fetch --tags
git checkout v3.16.0
pnpm install
pnpm build
pnpm start
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

