Typebot CVE-2026-33712
CRITICALSeverity by source
AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N
Primary rating from GitHub Advisory · only source for this CVE.
CVSS VectorGitHub Advisory
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N
Lifecycle Timeline
2DescriptionGitHub Advisory
Typebot is a chatbot builder tool. In versions 3.15.2 and prior, the preview chat endpoint (POST /api/v1/typebots/{typebotId}/preview/startChat) allows unauthenticated users to achieve Server-Side Request Forgery (SSRF) by supplying a custom typebot definition with server-side code blocks. The fetch function exposed inside the isolated-vm sandbox calls Node.js native fetch without the SSRF validation (validateHttpReqUrl) that protects the HTTP Request block. This bypasses all SSRF mitigations added after GHSA-8gq9-rw7v-3jpr. Exploitation of this unauthenticated SSRF vulnerability can lead to cloud credential theft, internal network access and data exfiltration for any self-hosted Typebot deployments and hosted services. This issue has been fixed in version 3.16.0.
AnalysisAI
Server-Side Request Forgery in Typebot chatbot builder versions 3.15.2 and prior allows unauthenticated remote attackers to abuse the preview chat endpoint to make arbitrary internal HTTP requests from the server. The flaw stems from the isolated-vm sandbox's fetch function calling Node.js native fetch without the SSRF validation (validateHttpReqUrl) that protects HTTP Request blocks, bypassing mitigations added after GHSA-8gq9-rw7v-3jpr. No public exploit identified at time of analysis, but the CVSS 10.0 (Critical) score with scope-changed impact indicates severe risk for both self-hosted and hosted deployments.
Technical ContextAI
Typebot (baptistearno/typebot.io per CPE) is a Node.js-based open-source chatbot builder that supports server-side code blocks executed inside an isolated-vm sandbox. The sandbox exposes a fetch function that wraps Node.js native fetch, which is the root cause of this vulnerability: the wrapper omits the validateHttpReqUrl SSRF guard that the dedicated HTTP Request block uses to block private IP ranges, localhost, and cloud metadata endpoints. The CWE-862 (Missing Authorization) classification reflects that the preview chat endpoint POST /api/v1/typebots/{typebotId}/preview/startChat accepts a user-supplied typebot definition with no authentication, allowing arbitrary code paths to be reached inside the sandbox without authorization checks.
RemediationAI
Vendor-released patch: upgrade to Typebot 3.16.0 or later, available at https://github.com/baptisteArno/typebot.io/releases/tag/v3.16.0, which restores SSRF validation on the sandboxed fetch function (see advisory GHSA-vc2q-r6rq-ggj9 at https://github.com/baptisteArno/typebot.io/security/advisories/GHSA-vc2q-r6rq-ggj9). If immediate upgrade is not possible, compensating controls include blocking external access to /api/v1/typebots/*/preview/startChat at a reverse proxy or WAF (trade-off: breaks the builder preview feature for legitimate users), placing the Typebot server in a network segment with egress filtering that denies traffic to RFC1918 ranges, link-local 169.254.169.254 cloud metadata endpoints, and other internal services (trade-off: may break legitimate outbound integrations), and on AWS forcing IMDSv2 with a hop limit of 1 to neutralize metadata credential theft (trade-off: requires SDK compatibility verification).
FortiOS and FortiProxy contain an authentication bypass via the Node.js websocket module allowing unauthenticated remote
Eval injection vulnerability in the internals.batch function in lib/batch.js in the bassmaster plugin before 1.5.2 for t
Flowise version 3.0.5 contains a remote code execution vulnerability in the CustomMCP node. The mcpServerConfig paramete
Node.js 8.5.0 before 8.6.0 allows remote attackers to access unintended files, because a change to ".." handling was inc
An issue was discovered in the node-serialize package 0.0.4 for Node.js. Rated critical severity (CVSS 9.8), this vulner
Directory traversal vulnerability in the st module before 0.2.5 for Node.js allows remote attackers to read arbitrary fi
Multiple SQL injection vulnerabilities in the Manage Accounts page in the AccountManagement.asmx service in the Solarwin
The JS-YAML module before 2.0.5 for Node.js parses input without properly considering the unsafe !!js/function tag, whic
Directory traversal vulnerability in lib/app/index.js in Geddy before 13.0.8 for Node.js allows remote attackers to read
Credential-harvesting malware compromised 84 versions of 42 TanStack npm packages on 2026-05-11 via chained GitHub Actio
Eval injection vulnerability in index.js in the syntax-error package before 1.1.1 for Node.js 0.10.x, as used in IBM Rat
The HTTP server in Node.js 0.10.x before 0.10.21 and 0.8.x before 0.8.26 allows remote attackers to cause a denial of se
Same weakness CWE-862 – Missing Authorization
View allSame technique Authentication Bypass
View allShare
External POC / Exploit Code
Leaving vuln.today