MemOS is a memory operating system for LLMs and AI agents. In deployments where authentication is enabled (AUTH_ENABLED=true) but the undocumented, defaultless INTERNAL_SERVICE_SECRET environment variable is unset, the is_internal_request() check in src/memos/api/middleware/auth.py fails open: os.getenv("INTERNAL_SERVICE_SECRET") returns None and a request omitting the X-Internal-Service header also yields None, so the comparison None == None evaluates true. The request is then treated as a trusted internal principal and granted scopes: ["all"]. As a result, an unauthenticated remote attacker can reach the admin API-key management endpoints to mint API keys for any user, enumerate keys, revoke keys, and generate a master key for persistent privileged access, as well as all data endpoints.
Fix
Nothing published yet: no patch, vendor advisory or mitigation reference on NVD, no vendor advisory in the News for this CVE, not in CISA's KEV, no fixed package version. BaselineWatch does not guess at one.
Change history 1
- First seenCVSS 9.3NVD modified 2026-10-23 16:10
Affected (CPE criteria) 0
NVD has not attached CPE configurations yet.
References 5
- https://github.com/MemTensor/MemOS
- https://github.com/MemTensor/MemOS/blob/main/src/memos/api/middleware/auth.py
- https://github.com/MemTensor/MemOS/issues/2259
- https://www.vulncheck.com/advisories/memos-authentication-bypass-via-unset-internal-service-secret
- https://github.com/MemTensor/MemOS/issues/2259