Advisory Database
  • Advisories
  • Dependency Scanning
  1. pypi
  2. ›
  3. langflow-base
  4. ›
  5. CVE-2026-34046

CVE-2026-34046: Langflow: Authenticated Users Can Read, Modify, and Delete Any Flow via Missing Ownership Check

March 27, 2026

Vulnerability

IDOR in <code>GET/PATCH/DELETE /api/v1/flow/{flow_id}</code>

The _read_flow helper in src/backend/base/langflow/api/v1/flows.py branched on the AUTO_LOGIN setting to decide whether to filter by user_id. When AUTO_LOGIN was False (i.e., authentication was enabled), neither branch enforced an ownership check — the query returned any flow matching the given UUID regardless of who owned it.

This exposed any authenticated user to:

  • Read any other user’s flow, including embedded plaintext API keys
  • Modify the logic of another user’s AI agents
  • Delete flows belonging to other users

The vulnerability was introduced by the conditional logic that was meant to accommodate public/example flows (those with user_id = NULL) under auto-login mode, but inadvertently left the authenticated path without an ownership filter.


Fix (PR #8956)

The fix removes the AUTO_LOGIN conditional entirely and unconditionally scopes the query to the requesting user:

-    auth_settings = settings_service.auth_settings
-    stmt = select(Flow).where(Flow.id == flow_id)
-    if auth_settings.AUTO_LOGIN:
-        stmt = stmt.where(
-            (Flow.user_id == user_id) | (Flow.user_id == None)  # noqa: E711
-        )
+    stmt = select(Flow).where(Flow.id == flow_id).where(Flow.user_id == user_id)

All three operations — read, update, and delete — route through _read_flow, so the single change covers the full attack surface. A cross-user isolation test (test_read_flows_user_isolation) was added to prevent regression.


Acknowledgements

Langflow thanks the security researcher who responsibly disclosed this vulnerability:

  • @chximn-dt

References

  • github.com/advisories/GHSA-8c4j-f57c-35cf
  • github.com/langflow-ai/langflow
  • github.com/langflow-ai/langflow/pull/8956
  • github.com/langflow-ai/langflow/security/advisories/GHSA-8c4j-f57c-35cf
  • nvd.nist.gov/vuln/detail/CVE-2026-34046

Code Behaviors & Features

Detect and mitigate CVE-2026-34046 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →

Affected versions

All versions before 0.5.1

Fixed versions

  • 0.5.1

Solution

Upgrade to version 0.5.1 or above.

Impact 8.8 HIGH

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Learn more about CVSS

Weakness

  • CWE-639: Authorization Bypass Through User-Controlled Key
  • CWE-862: Missing Authorization

Source file

pypi/langflow-base/CVE-2026-34046.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Sat, 09 May 2026 12:18:02 +0000.