Description
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.
Published: 2026-08-17
Score: 9.3 Critical
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability is an authentication bypass in MemOS caused by an unset INTERNAL_SERVICE_SECRET environment variable. When AUTH_ENABLED is true but the secret is missing, the is_internal_request() check compares two None values, which evaluates to true. This flaw allows an unauthenticated remote attacker to have the request treated as a trusted internal request and granted full administrative scopes. The attacker can then use the admin API to mint keys, enumerate, revoke, and create a master key, effectively gaining persistent privileged access to all system data.

Affected Systems

The affected product is MemTensor’s MemOS, a memory operating system for large language models and AI agents. The issue manifests in deployments where authentication is enabled and the undocumented INTERNAL_SERVICE_SECRET environment variable is left unset. No specific version numbers are provided, so any release before the fix that allows an unset secret is vulnerable.

Risk and Exploitability

This flaw has a high severity with a CVSS score of 9.3 and is not listed in the CISA KEV catalog. No EPSS score is available. The likely attack vector is a remote attacker sending unauthenticated HTTP requests to MemOS admin endpoints. By exploiting the open comparison, the attacker can acquire administrative privileges and control over key management and data access. Given the critical privilege escalation and lack of mitigation, the risk is high and exploitation is highly probable in exposed deployments.

Generated by OpenCVE AI on August 17, 2026 at 21:23 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Configure a strong, non‑empty INTERNAL_SERVICE_SECRET environment variable before launching MemOS.
  • Upgrade to the latest MemOS release that includes the patch for the authentication bypass (see MemTensor GitHub issue #2259).
  • If an immediate upgrade is not possible, restrict access to the admin API endpoints by disabling external traffic or requiring additional authentication layers, thereby preventing unauthenticated users from exercising the vulnerable internal request path.

Generated by OpenCVE AI on August 17, 2026 at 21:23 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 17 Aug 2026 20:45:00 +0000

Type Values Removed Values Added
Description 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.
Title MemOS Authentication Bypass via Unset INTERNAL_SERVICE_SECRET
Weaknesses CWE-697
References
Metrics cvssV3_1

{'score': 9.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'}

cvssV4_0

{'score': 9.3, 'vector': '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'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-08-17T20:36:04.095Z

Reserved: 2026-08-17T17:28:41.677Z

Link: CVE-2026-75110

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-17T21:16:50.043

Modified: 2026-08-17T21:16:50.043

Link: CVE-2026-75110

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-17T21:30:03Z

Weaknesses