portbuster1337/CVE-2026-33712
PoC files
4 filesFile viewing is interactive and short-lived. Downloads are password-protected ZIP archives using password eip.
Analysis
Technical assessment
The artifact is a Python exploit script (exploit.py) that targets an unauthenticated SSRF vulnerability (CVE-2026-33712) in Typebot <= 3.15.2. It constructs a malicious typebot definition containing a Code block that uses the sandboxed fetch() to make arbitrary server-side requests, bypassing SSRF protections. The script supports single-URL exfiltration and bulk scanning of internal endpoints, sending retrieved data to an attacker-controlled webhook.
Backdoor review
No backdoor observed in reviewed code
The repository contains a proof-of-concept exploit for CVE-2026-33712, an unauthenticated SSRF vulnerability in Typebot. The Python script (exploit.py) sends crafted requests to a target Typebot instance to trigger the SSRF and exfiltrate data to a user-supplied webhook. The code performs only the advertised SSRF exploitation and data exfiltration; no concealed backdoor, persistence mechanism, credential theft from the operator's machine, or unrelated payload delivery was observed.
Classification basis and observed behavior
Classification basis
The script is designed to actively exploit the vulnerability by sending crafted requests that cause the server to make unauthorized internal HTTP requests and exfiltrate the results. It is not merely detecting the vulnerability; it is exercising it to achieve SSRF and data theft.
exploit.py:1-10exploit.py:127-144Requirements
- A target Typebot instance running version <= 3.15.2 with the preview chat endpoint accessible.
README.md:5-6 - An attacker-controlled webhook URL to receive exfiltrated data.
exploit.py:248-251
Observed behavior
- Sends a POST request to the vulnerable preview endpoint with a crafted JSON payload containing a Code block that executes a server-side fetch to an internal URL.
exploit.py:85-93exploit.py:35-82 - Exfiltrates the fetched internal content by sending it as a POST body to the attacker's webhook.
exploit.py:127-144 - Performs a pre-flight check to determine if the target is vulnerable, patched, or missing the endpoint before attempting exploitation.
exploit.py:96-124 - Supports scanning multiple internal endpoints listed in an endpoints.txt file.
exploit.py:185-198
Behaviors behind the backdoor verdict
Observables
- Exfiltration Webhook
- User-supplied webhook URL (--webhook / -w or WEBHOOK_URL env var)The script exfiltrates fetched internal content to an attacker-controlled webhook, which is the intended purpose of the SSRF exploit.
exploit.py:127-144exploit.py:222-223 - Ssrf Payload
- Crafted JSON typebot definition with a Code block containing a fetch() call to an internal URLThe script builds a typebot payload that exploits the missing SSRF validation in the preview endpoint.
exploit.py:35-82README.md:116-162 - Target Endpoint
- POST /api/v1/typebots/{typebotId}/preview/startChatThe vulnerable endpoint targeted by the exploit.
exploit.py:87README.md:8
What the analysis did not establish
- The evidence includes only the README.md, exploit.py, and requirements.txt files. The endpoints.txt file is referenced but its content is not provided in the evidence packets.
- The analysis is based solely on static review of the provided text; the code was not executed, and its operational reliability is not verified.
- One file (endpoints.txt) was omitted from the text evidence; its content is described in README.md as a list of SSRF target URLs and is not expected to contain executable code.
- Binary or non-text media files were not present in the evidence.
- The review is limited to the static source code; runtime behavior was not observed.
This review is limited to the supplied PoC code and context. It does not assert that the code works or is safe to execute.