CVE-2026-33484
HIGHSeverity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Primary rating from GitHub Advisory · only source for this CVE.
CVSS VectorGitHub Advisory
Lifecycle Timeline
3DescriptionGitHub Advisory
Summary
The /api/v1/files/images/{flow_id}/{file_name} endpoint serves image files without any authentication or ownership check. Any unauthenticated request with a known flow_id and file_name returns the image with HTTP 200.
Details
src/backend/base/langflow/api/v1/files.py:138-164 - download_image takes flow_id: UUID as a bare path parameter with no Depends(get_flow) or CurrentActiveUser. All other file routes (download_file, upload_file, list_files, delete_file) use Depends(get_flow) which enforces both authentication and ownership. There is no global auth middleware on /api/v1; protection is per-endpoint only.
PoC
curl -v "http://localhost:7860/api/v1/files/images/<flow_uuid>/<filename.png>"
# Returns HTTP 200 with image bytes, no auth header requiredImpact
Unauthenticated cross-tenant data leak. In a multi-tenant deployment, any attacker who can discover or guess a flow_id (UUIDs can be leaked through other API responses) can download any user's uploaded images without credentials.
AnalysisAI
The Langflow Python package contains an authentication bypass vulnerability in its image file download endpoint that allows unauthenticated attackers to access image files uploaded by any user. Langflow, a visual framework for building AI applications, fails to enforce authentication and ownership checks on the /api/v1/files/images/{flow_id}/{file_name} endpoint, while all other file operation endpoints properly implement these security controls. A proof-of-concept exploit exists demonstrating that any attacker with knowledge of a flow UUID and filename can retrieve sensitive image data without credentials, posing a critical risk in multi-tenant deployments where cross-tenant data leakage can occur.
Technical ContextAI
Langflow is a Python-based visual framework for building and deploying AI workflows and chatbots, distributed via PyPI (pkg:pip/langflow). The vulnerability exists in the FastAPI-based REST API layer, specifically in the download_image function located in src/backend/base/langflow/api/v1/files.py at lines 138-164. Unlike the properly secured endpoints (download_file, upload_file, list_files, delete_file) that use the Depends(get_flow) dependency injection to enforce authentication and ownership verification, the vulnerable download_image endpoint accepts flow_id as a bare UUID path parameter with no authentication middleware. This represents a classic instance of CWE-284 (Improper Access Control) where security controls are inconsistently applied across similar API endpoints. The application lacks global authentication middleware on the /api/v1 route prefix, instead relying on per-endpoint protection using FastAPI's dependency injection system, which was omitted for this specific endpoint.
RemediationAI
Organizations running Langflow should immediately consult the GitHub security advisory at https://github.com/langflow-ai/langflow/security/advisories/GHSA-7grx-3xcx-2xv5 for the patched version and upgrade guidance. The fix requires adding authentication and ownership verification to the download_image endpoint in src/backend/base/langflow/api/v1/files.py by implementing the Depends(get_flow) dependency injection pattern already used by other file operation endpoints, along with a CurrentActiveUser dependency to validate the requestor's identity and authorization. Until patching is completed, organizations should implement network-level access controls to restrict the /api/v1/files/images/ endpoint to authenticated users only, either through a reverse proxy with authentication enforcement, IP allowlisting for trusted networks, or by disabling the endpoint entirely if image serving through the API is not business-critical. For multi-tenant deployments, immediate patching is essential as no effective workaround can prevent cross-tenant data leakage once an attacker has discovered valid flow UUIDs.
Same weakness CWE-284 – Improper Access Control
View allSame technique Authentication Bypass
View allShare
External POC / Exploit Code
Leaving vuln.today
GHSA-7grx-3xcx-2xv5