CVE-2026-75110: MemOS Authentication Bypass via Unset INTERNAL_SERVICE_SECRET
MemOS is a memory operating system for LLMs and AI agents. In deployments where authentication is enabled (AUTHENABLED=true) but the undocumented, defaultless INTERNALSERVICESECRET environment variable is unset, the isinternalrequest() check in src/memos/api/middleware/auth.py fails open: os.getenv("INTERNALSERVICESECRET") 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.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Configuration
Set the INTERNAL_SERVICE_SECRET environment variable so os.getenv("INTERNAL_SERVICE_SECRET") does not return None; ensure AUTH_ENABLED=true deployments have INTERNAL_SERVICE_SECRET explicitly set to a non-empty secret.
MemOS (src/memos/api/middleware/auth.py) INTERNAL_SERVICE_SECRET = set to a non-empty value - Compensating control
Ensure requests to the MemOS admin API-key management endpoints and internal-authenticated middleware are only reachable from trusted/internal networks—e.g., restrict access at the firewall/ingress so unauthenticated internet traffic cannot reach the admin endpoints.
Event History
Frequently Asked Questions
What is the severity of CVE-2026-75110?
CVE-2026-75110 has a critical severity score of 9.8.
How do I fix CVE-2026-75110?
To fix CVE-2026-75110, set the INTERNAL_SERVICE_SECRET environment variable to a secure value.
What impact does CVE-2026-75110 have on MemOS deployments?
CVE-2026-75110 allows for authentication bypass in MemOS deployments if the INTERNAL_SERVICE_SECRET is unset.
What versions of MemOS are affected by CVE-2026-75110?
CVE-2026-75110 affects all versions of MemOS where authentication is enabled but the INTERNAL_SERVICE_SECRET is unset.
Is CVE-2026-75110 easy to exploit?
Yes, CVE-2026-75110 is easy to exploit, as it requires only the INTERNAL_SERVICE_SECRET to remain unset in an authenticated deployment.