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")).
Published May 14, 2026 · Updated May 19, 2026
Affected packages
open-webui
- Ecosystem
- PyPI
- Affected
- <= 0.7.2
- Fixed in
- 0.8.0
- Check
pip show open-webui
Advisory details
From the GitHub Advisory Database (CC BY 4.0).
Summary
GET /api/v1/memories/ef is accessible without authentication and executes request.app.state.EMBEDDING_FUNCTION(...). 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/open_webui/routers/memories.py (@router.get("/ef") -> calls request.app.state.EMBEDDING_FUNCTION("hello world")).
Details
GET /api/v1/memories/ef is reachable without authentication and triggers request.app.state.EMBEDDING_FUNCTION("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
- Start Open WebUI in default configuration (no special env hardening; default ENABLE_MEMORIES is true).
- From an unauthenticated client (no cookies/Authorization header), call: curl -i http://\:\/api/v1/memories/ef
- 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/efto: - 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.
Credited to densi97, Classic298.
References
- https://github.com/open-webui/open-webui/security/advisories/GHSA-m69w-p7m4-585j
- https://github.com/open-webui/open-webui/commit/e5035ea31e179977e805a7032c979ff59a71860a
- https://github.com/open-webui/open-webui/releases/tag/v0.8.0
- https://nvd.nist.gov/vuln/detail/CVE-2026-45667
- https://github.com/advisories/GHSA-m69w-p7m4-585j
How this page is made: the data panel comes from the GitHub Advisory Database, CISA’s KEV catalog, the NVD and FIRST EPSS, and updates twice a day. No analysis has been written for this entry yet. Methodology
More Open WebUI vulnerabilities
All Open WebUI entriesCVE-2026-87011
Open WebUI: Unauthenticated requests can stall the server via uncached OIDC fetches in back-channel logout
high7.5Sep 10, 2026CVE-2026-87012
Open WebUI: Any authenticated user can suppress calendar alerts instance-wide via a non-numeric alert value
medium4.3Sep 10, 2026CVE-2026-87013
Open WebUI: Any authenticated user can start a non-terminating request via a folder parent cycle
medium4.3Sep 10, 2026CVE-2026-87014
Open WebUI: Admin demoted through SSO role sync keeps read and write access to all users' notes
medium6.5Sep 10, 2026CVE-2026-87015
Open WebUI: A user's session cookies are sent to tool servers configured for bearer authentication
medium6.8Sep 10, 2026CVE-2026-87016
Open WebUI: Sign-in as another user via wildcard characters in the OAuth subject claim on SQLite
high8.1Sep 10, 2026
