Описание
Open WebUI Vulnerable to Unauthenticated RAG Configuration Disclosure
Vulnerability Type: Information Disclosure / Missing Authentication
Severity: Medium
Component: backend/open_webui/routers/retrieval.py — get_status() (GET /)
Affected Endpoint: GET /api/v1/retrieval/
Affected Version: Open WebUI main branch — confirmed unpatched through v0.9.2
Authentication Required: None — internet-facing with zero credentials
CVSSv3.1 Score: 5.3 (AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N)
Summary
GET /api/v1/retrieval/ returns live RAG pipeline configuration to any unauthenticated HTTP client. No Authorization header, cookie, or API key is required. Every adjacent endpoint on the same router (/embedding, /config) is correctly guarded by get_admin_user making this a targeted omission.
Root Cause
backend/open_webui/routers/retrieval.py:262
Compare with every adjacent endpoint on the same router:
Proof Of Concept — No Token Required
Disclosed Information and Its Value to an Attacker
| Field | What it reveals |
|---|---|
RAG_EMBEDDING_ENGINE | Backend type (OpenAI, Ollama, Azure, etc.) |
RAG_EMBEDDING_MODEL | Exact model name — reveals embedding model |
RAG_RERANKING_MODEL | Reranker in use — reveals reranker |
RAG_TEMPLATE | RAG template — exposes the RAG template |
CHUNK_SIZE / CHUNK_OVERLAP | Chunking parameters — enables exact reconstruction of how documents are split and retrieved |
Attack Scenario
- Attacker sends one unauthenticated HTTP GET to
/api/v1/retrieval/. - Response reveals the embedding model and chunking parameters.
- Attacker uses the exact chunk size/overlap to craft RAG poisoning payloads that are guaranteed to be retrieved.
Impact
- RAG template disclosure
- Infrastructure fingerprinting — embedding engine and model name reveal the AI stack to an internet scanner
- RAG attack surface mapping — chunk parameters enable precise calculation of retrieval boundaries
- Zero-effort recon — no brute force, no credentials, no rate-limit concern. Single request from any IP.
Recommended Fix
Add get_verified_user dependency (or get_admin_user for stricter control):
Пакеты
open-webui
< 0.9.5
0.9.5
Связанные уязвимости
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.5, GET /api/v1/retrieval/ returns live RAG pipeline configuration to any unauthenticated HTTP client. No Authorization header, cookie, or API key is required. Every adjacent endpoint on the same router (/embedding, /config) is correctly guarded by get_admin_user making this a targeted omission. This vulnerability is fixed in 0.9.5.
Уязвимость функции get_status() веб-интерфейса на базе искуственного интеллекта Open WebUI, позволяющая нарушителю обойти ограничения безопасности и получить несанкционированный доступ к защищаемой информации