lxxexxbxx
Source-scoped identity with 1 associated PoC and 1 linked vulnerability.
Exploit catalog results
Showing 1 PoC on this page
GitHublxxexxbxx/CVE-2026-33017
Repository PoCStars: 0Created 2026-08-13ExploitCVE-2026-330177 files
Analysis
Technical assessment
The artifact contains a fully functional exploit (exploit.py) that achieves unauthenticated remote code execution on Langflow <= 1.8.1 by sending a crafted POST request to /api/v1/build_public_tmp/{flow_id}/flow with a malicious CustomComponent payload, resulting in a reverse shell. It also includes a scanner (poc.py) for blind RCE detection and a detailed writeup (README.md).
Backdoor review
No backdoor observed in reviewed code
The repository contains a PoC exploit for CVE-2026-33017, an unauthenticated RCE in Langflow. The provided Python scripts (exploit.py, poc.py) and README documentation are consistent with the disclosed vulnerability. The code sends a crafted HTTP request to a target Langflow server to achieve remote code execution. All actions are directed at the operator-specified target (--url) and callback address (--lhost). No concealed, unrelated, or operator-misrepresented harmful behavior was found.
Classification basis and observed behavior
Classification basis
exploit.py is a complete, weaponized exploit that actively exercises the vulnerability to achieve remote code execution and deliver a reverse shell. It goes beyond detection by executing attacker-controlled code on the target.
exploit.py:1-10exploit.py:193-217exploit.py:224-258Requirements
- Target running Langflow <= 1.8.1 with a public flow accessible via the build_public_tmp endpoint.
README.md:15-16exploit.py:8-9 - Attacker must be able to reach the target's HTTP service (default port 7860).
exploit.py:271
Observed behavior
- Authenticates to Langflow using admin credentials to obtain a JWT token.
exploit.py:46-58 - Creates a new public flow or uses an existing one to obtain a valid flow_id.
exploit.py:61-83 - Constructs a JSON payload containing a CustomComponent node with embedded Python code that spawns a reverse shell.
exploit.py:101-186 - Sends an unauthenticated POST request to /api/v1/build_public_tmp/{flow_id}/flow with the malicious payload, triggering exec() on the server.
exploit.py:193-217 - Listens for an incoming reverse shell connection and provides an interactive command shell.
exploit.py:224-258
Behaviors behind the backdoor verdict
Observables
- Url
- Payload withheldThe target endpoint for the exploit, as described in the CVE. The operator controls the base URL via the --url argument.
exploit.py:195-197 - Ip
- Payload withheldExample attacker IP used in documentation. The operator controls the actual callback IP via the --lhost argument.
README.md:194 - Command
- Payload withheldExample usage of the exploit script. All parameters are provided by the operator.
README.md:210-213
What the analysis did not establish
- Only 3 of 7 repository files were provided as readable text; 4 files (Dockerfile, Dockerfile.attacker, docker-compose.yml, entrypoint.sh) are omitted.
- The evidence is static source code; no dynamic execution or runtime behavior was observed.
- Four files in the repository (Dockerfile, Dockerfile.attacker, docker-compose.yml, entrypoint.sh) were not provided as text and were not reviewed. Their metadata does not indicate executable payloads, but their content could not be verified.
This review is limited to the supplied PoC code and context. It does not assert that the code works or is safe to execute.