CVE-2026-45667: Open WebUI: Unauthenticated endpoint can trigger embedding generation (cost/DoS)
Summary GET /api/v1/memories/ef is accessible without authentication and executes request.app.state.EMBEDDINGFUNCTION(...). This allows any unauthenticated caller to trigger embedding generation which can lead to direct cost exposure if a paid provider is used. Code reference: backend/openwebui/routers/memories.py (@router.get("/ef") -> calls request.app.state.EMBEDDINGFUNCTION("hello world")).
Details GET /api/v1/memories/ef is reachable without authentication and triggers request.app.state.EMBEDDINGFUNCTION("hello world"). This crosses an intended security boundary by allowing unauthenticated users to invoke potentially expensive embedding computation and/or paid upstream embedding APIs.
PoC 1. Start Open WebUI in default configuration (no special env hardening; default ENABLEMEMORIES is true). 2. From an unauthenticated client (no cookies/Authorization header), call: curl -i http://\<host\>:\<port\>/api/v1/memories/ef 3. Observe the server performs embedding generation and returns a response like: - HTTP 200 with JSON containing the result.
How it can be abused / attacker actions:
- Send repeated requests to /api/v1/memories/ef to: - consume CPU/GPU resources (DoS) - generate sustained outbound usage to embedding providers if configured (cost + rate-limit exhaustion) - degrade latency/availability for legitimate users Impact If embeddings are configured to use paid/remote providers (OpenAI/Azure/etc), an attacker can generate unlimited requests and incur charges.
Resolution
Fixed in commit e5035ea31, first released in v0.8.0 (Feb 2026). The /api/v1/memories/ef route was removed entirely. It was a diagnostic/debug-style endpoint that hard-coded "hello world" through the embedding function without any authentication dependency; there was no legitimate caller that depended on it, so deletion was the cleaner fix than retrofitting auth. Users on >= 0.8.0 are not affected.
Other sources
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.8.0, GET /api/v1/memories/ef is accessible without authentication and executes request.app.state.EMBEDDINGFUNCTION(...). This allows any unauthenticated caller to trigger embedding generation which can lead to direct cost exposure if a paid provider is used. This vulnerability is fixed in 0.8.0.
— MITRE
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2026-45667?
CVE-2026-45667 has a medium severity as it allows unauthenticated users to trigger resource-intensive operations leading to potential denial of service.
How do I fix CVE-2026-45667?
To fix CVE-2026-45667, upgrade to version 0.8.0 or later of the open-webui package.
What software is affected by CVE-2026-45667?
CVE-2026-45667 affects the open-webui package versions up to and including 0.7.2.
What type of vulnerability is CVE-2026-45667?
CVE-2026-45667 is an unauthenticated endpoint vulnerability that can lead to denial of service via embedding generation.
Can CVE-2026-45667 be exploited remotely?
Yes, CVE-2026-45667 can be exploited remotely by any unauthenticated user accessing the vulnerable endpoint.