CVE-2026-34046
Python vulnerability analysis and mitigation

Overview

CVE-2026-34046 is an Insecure Direct Object Reference (IDOR) / missing authorization vulnerability in Langflow, a tool for building and deploying AI-powered agents and workflows. The flaw resides in the _read_flow helper function in src/backend/base/langflow/api/v1/flows.py, which fails to enforce ownership checks when authentication (AUTO_LOGIN = False) is enabled, allowing any authenticated user to read, modify, or delete flows belonging to other users. Affected versions include langflow <= 1.5.0 and langflow-base <= 0.5.0; the vulnerability was disclosed on March 25, 2026, and patched in version 1.5.1. It carries a CVSS v4 base score of 8.7 (High) and a CVSS v3.1 base score of 8.8 (High) (Github Advisory, Langflow Security Advisory).

Technical details

The root cause is a flawed conditional in the _read_flow helper that branched on the AUTO_LOGIN setting to determine whether to filter database queries by user_id. When AUTO_LOGIN was False (authentication enabled), neither branch of the conditional applied an ownership filter — the SQLAlchemy query returned any Flow record matching the supplied UUID regardless of the requesting user's identity. This is classified as CWE-639 (Authorization Bypass Through User-Controlled Key) and CWE-862 (Missing Authorization). The attack vector is network-based, requires only low privileges (a valid authenticated session), and no user interaction, making it straightforward to exploit by supplying arbitrary flow UUIDs to the GET, PATCH, and DELETE endpoints at /api/v1/flow/{flow_id} (Github Advisory, Fix PR #8956).

Impact

Successful exploitation allows any authenticated user to read any other user's flows — including embedded plaintext API keys stored within flow definitions — modify the logic of another user's AI agents, and permanently delete flows they do not own. This creates high confidentiality, integrity, and availability impacts scoped to the vulnerable Langflow instance. Exposed API keys could enable lateral movement to third-party services (e.g., LLM providers, databases) integrated into the compromised flows (Github Advisory, Langflow Security Advisory).

Exploitability

No public proof-of-concept exploit code or evidence of in-the-wild exploitation has been reported as of the time of disclosure (Feedly). The vulnerability was responsibly disclosed by security researcher @chximn-dt. The EPSS score is approximately 0.052% (17th percentile), indicating a low near-term exploitation probability. The vulnerability is not currently listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. However, the low exploitation complexity — requiring only a valid authenticated account and knowledge of a target flow's UUID — makes it a realistic threat in multi-tenant or shared Langflow deployments.

Exploitation steps

  1. Obtain authentication: Register or log in to the target Langflow instance with any valid user account (e.g., a free trial or low-privilege account).
  2. Enumerate flow UUIDs: Use the authenticated session to call GET /api/v1/flows/ to list flows visible to the attacker's account, or enumerate UUIDs through other means (e.g., shared links, logs, or brute-force of UUID space).
  3. Access another user's flow: Send a GET /api/v1/flow/{target_flow_id} request using the attacker's authentication token but substituting a UUID belonging to another user. Due to the missing ownership check, the server returns the full flow definition including any embedded plaintext API keys.
  4. Modify another user's flow: Send a PATCH /api/v1/flow/{target_flow_id} request with a modified flow payload to alter the AI agent logic (e.g., inject malicious nodes or redirect data exfiltration).
  5. Delete another user's flow: Send a DELETE /api/v1/flow/{target_flow_id} request to permanently remove the target flow, causing denial of service for the flow owner.
  6. Leverage exposed API keys: Extract plaintext API keys from the retrieved flow definitions and use them to access integrated third-party services (e.g., OpenAI, databases) for further lateral movement (Github Advisory, Fix PR #8956).

Indicators of compromise

  • Network: Unusual GET, PATCH, or DELETE requests to /api/v1/flow/{flow_id} from a user account that does not own the referenced flow UUID; high-frequency enumeration of flow UUIDs from a single authenticated session.
  • Logs: Langflow API access logs showing a single user account accessing flow IDs associated with multiple different owners; HTTP 200 responses to flow read/modify/delete requests for flows not created by the requesting user.
  • Behavioral: Unexpected modifications to AI agent flow logic (e.g., new nodes, changed configurations) not initiated by the flow owner; flows disappearing without owner-initiated deletion; third-party API keys (e.g., OpenAI, Anthropic) showing unexpected usage spikes or access from unfamiliar IPs after a Langflow instance was accessed.

Mitigation and workarounds

Upgrade Langflow to version 1.5.1 (or langflow-base to 0.5.1), which removes the AUTO_LOGIN conditional entirely and unconditionally scopes all flow queries to the requesting user's user_id. No configuration-based workaround is available for unpatched versions. After upgrading, administrators should audit access logs to identify unauthorized flow access, review and rotate any API keys embedded in flows that may have been exposed, and implement network segmentation and access controls to limit which users can authenticate to the Langflow instance (Github Advisory, Fix PR #8956).

Community reactions

The vulnerability was responsibly disclosed by security researcher @chximn-dt and acknowledged by Langflow maintainer AntonioABLima in the official GitHub Security Advisory. The fix was reviewed and merged by jordanrfrazier on July 9, 2025. Community discussion was noted in a related GitHub issue (#12380) filed after the advisory was published. No significant broader media coverage or notable social media reactions beyond standard CVE tracking feeds have been identified (Langflow Security Advisory, Fix PR #8956).

Additional resources


SourceThis report was generated using AI

Related Python vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-61539CRITICAL10
  • Python logoPython
  • xinference
NoYesAug 21, 2026
CVE-2026-49360HIGH7.8
  • Python logoPython
  • recce
NoYesAug 21, 2026
CVE-2026-68508HIGH7.8
  • Python logoPython
  • hydra-core
NoYesAug 21, 2026
CVE-2026-54457HIGH7.7
  • Python logoPython
  • tensorzero
NoYesAug 21, 2026
CVE-2026-43980MEDIUM6.3
  • Python logoPython
  • malla
NoNoAug 21, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management