Summary
CVE-2026-75110 is a critical authentication bypass vulnerability in MemOS, the open-source memory operating system for LLMs and AI agents developed by MemTensor. The flaw exists in the internal request-trust logic of the authentication middleware and allows a completely unauthenticated remote attacker to obtain full administrative (scopes: ["all"]) access to the API. It affects deployments with authentication enabled (AUTH_ENABLED=true), and carries a CVSS v3.1 base score of 9.8 (Critical) / CVSS v4.0 score of 9.3 (Critical).
Technical details
- Root cause: The
is_internal_request()function insrc/memos/api/middleware/auth.pydetermines whether an incoming request should be treated as a trusted internal service call by comparing the value of theX-Internal-Servicerequest header against theINTERNAL_SERVICE_SECRETenvironment variable. - Trigger condition: If the operator enables authentication (
AUTH_ENABLED=true) but never setsINTERNAL_SERVICE_SECRET(an undocumented variable, so many deployments omit it),os.getenv("INTERNAL_SERVICE_SECRET")returnsNone. A request that simply omits theX-Internal-Serviceheader also resolves toNone. The comparisonNone == Noneevaluates toTrue, so the check "fails open" instead of failing closed. - Attack vector: Network — no credentials, headers, or prior access are required. An attacker only needs to send a plain HTTP request to a reachable MemOS API instance.
- Impact: The request is classified as an internal/trusted service call and is granted
scopes: ["all"]. This lets an unauthenticated attacker:- Mint new API keys for any user
- Enumerate existing API keys
- Revoke API keys (denial of service)
- Generate master keys for persistent, long-term access
- Access administrative (
/admin/*) endpoints and all data endpoints, exposing stored agent/user memory data
- Classification: CWE-697 (Incorrect Comparison).
Affected software
- Vendor/Project: MemTensor — MemOS
- Package:
pkg:pypi/MemoryOS - Affected versions: All versions from the initial release through 2.0.30, when deployed with
AUTH_ENABLED=trueandINTERNAL_SERVICE_SECRETleft unset.
Severity
- CVSS v3.1 Base Score: 9.8 (Critical) —
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - CVSS v4.0 Score: 9.3 (Critical) —
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Mitigation and recommended actions
- Immediate: As of this writing, no patched MemOS release has been published; the fix is tracked as in-progress in the upstream GitHub issue (MemTensor/MemOS #2259). Security teams should monitor the MemTensor/MemOS repository and upgrade to the fixed release as soon as it becomes available.
- Workarounds / network mitigations (until a patch ships):
- Explicitly set
INTERNAL_SERVICE_SECRETto a strong, randomly generated value in every environment whereAUTH_ENABLED=true— never leave it unset. - Ensure the
X-Internal-Serviceheader cannot be set or spoofed by external/untrusted clients; strip or block this header at the reverse proxy/load balancer for any request originating outside the trusted internal network. - Restrict network exposure of MemOS API endpoints (especially
/admin/*and data/memory endpoints) so they are not reachable from the public internet; place them behind a VPN, firewall allowlist, or internal-only network segment. - Audit existing API keys and master keys for unexpected or unrecognized entries, and rotate all API keys and any
INTERNAL_SERVICE_SECRET-dependent credentials as a precaution. - Monitor logs for API key creation, master key generation, or admin endpoint access originating from unexpected source IPs.
- Explicitly set

