Vulnerability  ·  2026-11-08

RAGFlow SSRF via unvalidated base_url lets authenticated users probe internal services and cloud metadata

VulnerabilityMedium impactGlobalCVE-2026-49951
RAGFlow's set_api_key endpoint accepts an attacker-supplied base_url value without validation and issues server-side requests to it. This enables authenticated SSRF to shared-network backends and cloud metadata services, with verbose upstream exception text returned in the response leaking internal service fingerprints.
RAG platforms are frequently deployed inside a VPC alongside the vector database, object storage, and model endpoints they index. This SSRF gives an authenticated (often low-privilege) user a pivot into that internal network and a path to cloud credentials via metadata.
POST /v1/llm/set_api_key with an unvalidated base_url (handled by set_api_key() in api/apps/llm_app.py) causes the server to make requests to attacker-chosen hosts (CWE-918 SSRF); error text returned to the client discloses internal service layout.
RAGFlow before 0.27.0
Upgrade to RAGFlow 0.27.0.
VulnCheck — RAGFlow SSRF via set-api-key base_urlRAGFlow v0.27.0 release
See this in the live feed Explore related AI security and governance findings — updated every morning.
Open the feed →