Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Low-privilege authenticated access via network; scope changed because the config overwrite affects all users' data, not just the attacker's own session.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
3DescriptionCVE.org
Odysseus before commit bf325f6 contains a missing authorization vulnerability that allows authenticated non-admin users to manage server-wide embedding backend configuration by invoking endpoint management routes that verify session authentication but omit the admin authorization guard. Attackers can supply an attacker-controlled URL to overwrite the embedding backend persisted in the endpoint configuration file and process environment, causing all subsequent embedding operations including chat messages, RAG queries, memory entries, and vault text to be transmitted in plaintext to the attacker-controlled destination, or delete the endpoint configuration to deny embedding service to all users.
AnalysisAI
Missing admin authorization on the embedding management API in Odysseus allows any authenticated non-admin user to overwrite or delete the server-wide embedding backend configuration, redirecting all subsequent embedding operations - including chat messages, RAG queries, memory entries, and vault text - in plaintext to an attacker-controlled URL. All deployments running any version prior to commit bf325f6 are affected. A public exploit and detailed write-up are available, and the CVSS 4.0 score of 8.7 (PR:L) reflects the low barrier to exploitation for any account holder.
Technical ContextAI
Odysseus (CPE: cpe:2.3:a:odysseus-dev:odysseus:*:*:*:*:*:*:*:*) is a FastAPI-based AI assistant application supporting RAG, memory, and vault operations via pluggable embedding backends, including integration with HashiCorp Vault for secret text (explaining the 'Hashicorp' tag). The vulnerability is CWE-862 (Missing Authorization): the FastAPI APIRouter for /api/embeddings enforced session authentication via middleware but did not apply the require_admin dependency guard to endpoint management routes. The source code diff for fix commit bf325f6 confirms this precisely - the patch adds dependencies=[Depends(require_admin)] to the APIRouter constructor in routes/embedding_routes.py, meaning every endpoint registered under that router previously inherited only session checks, not admin checks. Because the embedding backend URL and configuration are persisted to a file and loaded into the process environment, a single successful exploitation rewrites the runtime configuration for all subsequent users and operations.
RemediationAI
Update Odysseus to or beyond commit bf325f6b2185cb42bc5d8f5713a64aecffb766d4, available at https://github.com/odysseus-dev/odysseus/commit/bf325f6b2185cb42bc5d8f5713a64aecffb766d4. This patch applies the require_admin dependency to the /api/embeddings APIRouter, enforcing admin authorization on all embedding management routes. No discrete tagged release version is independently confirmed in the available data, so operators should verify their deployed commit hash directly against bf325f6. If immediate patching is not feasible, restrict access to /api/embeddings management routes (specifically endpoint creation, update, and deletion operations) via a reverse proxy ACL or network policy that permits only admin-originating sessions - note this requires distinguishing management sub-routes from read paths to avoid breaking embedding functionality for regular users, which may be operationally complex. A second compensating control is to audit and lock the embedding backend configuration file's filesystem permissions so that the application process cannot overwrite it at runtime, though this may break legitimate admin reconfiguration flows.
Same weakness CWE-862 – Missing Authorization
View allSame technique Authentication Bypass
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-52932
GHSA-7jfx-c8jj-p569