
PoC and detection guide for the critical unauthenticated RCE in IBM Langflow OSS, covering the auto_login token bypass and unsafe /validate/code Python evaluation.
Critical unauthenticated remote code execution vulnerability affecting IBM Langflow OSS.
The vulnerability results from chaining two weaknesses:
/api/v1/auto_login can issue a privileged SUPERUSER bearer token to an unauthenticated network caller./api/v1/validate/code processes attacker-controlled Python code in an unsafe execution context.When chained, these weaknesses can result in arbitrary Python code execution with the privileges of the Langflow backend process.
The vulnerability has a CVSS v3.1 score of 9.8 (Critical) and is classified as CWE-94 — Improper Control of Generation of Code.
| Product | Vulnerable Versions | Fixed Version |
|---|---|---|
| IBM Langflow OSS | 1.0.0 – 1.10.0 | 1.10.1 |
IBM recommends upgrading to Langflow OSS 1.10.1.
CVSS: 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Unauthenticated attacker
|
v
/api/v1/auto_login
|
| SUPERUSER bearer token
v
/api/v1/validate/code
|
| Unsafe Python evaluation
v
Remote Code Execution
|
v
Langflow backend process
The important security issue is not simply that either endpoint exists. The impact comes from the combination of an authentication bypass/token issuance primitive with an unsafe code-validation mechanism.
Successful exploitation can provide an attacker with code execution in the security context of the Langflow backend.
Depending on the deployment, this may expose:
The practical impact therefore depends heavily on the privileges and network access available to the Langflow process.
The following requests are intended for non-destructive identification and do not contain a code-execution payload.
GET / HTTP/1.1
Host: TARGET
Accept: */*
Connection: close
GET /docs HTTP/1.1
Host: TARGET
Accept: text/html,*/*
Connection: close
GET /api/v1/auto_login HTTP/1.1
Host: TARGET
Accept: application/json
Connection: close
For defensive testing, record the status code, headers, and response structure rather than attempting to use any returned credential material.
A useful defensive telemetry pattern is:
/api/v1/auto_login
followed shortly by
/api/v1/validate/code
A source making these requests without the normal Langflow frontend traffic around them is particularly worth investigating.
Do not test the vulnerability by submitting arbitrary Python to /api/v1/validate/code against a production instance.
A safe validation workflow is:
1. Identify the Langflow version
2. Confirm whether it is <= 1.10.0
3. Review access logs for the affected endpoints
4. Check for unexpected SUPERUSER token issuance
5. Check process/application logs for suspicious Python execution
6. Upgrade to 1.10.1
7. Rotate potentially exposed credentials
8. Investigate the host if exploitation is suspected
Monitor for:
POST /api/v1/validate/code
GET /api/v1/auto_login
POST /api/v1/auto_login
Particularly suspicious behavior includes:
/api/v1/auto_login200 OK responses containing an access_tokenauto_login request immediately followed by /api/v1/validate/codeUpgrade Langflow OSS to:
1.10.1 or later
IBM specifically recommends upgrading to 1.10.1.
If exploitation is suspected, patching alone should not be considered sufficient. Review logs and host telemetry and rotate secrets that may have been accessible to the Langflow process.
CISA added CVE-2026-9198 to its Known Exploited Vulnerabilities catalog on August 4, 2026.
This repository is intended for authorized security research, vulnerability analysis, detection engineering, and controlled laboratory environments.
| Metric | Value |
|---|
| Attack Vector | Network |
| Attack Complexity | Low |
| Privileges Required | None |
| User Interaction | None |
| Confidentiality | High |
| Integrity | High |
| Availability | High |
| Scope | Unchanged |