Sceawere
Vulnerability Detail
CVE-2026-75110UPDATED Verified Sceawere Triage Sources: NVD / CISA KEV
MemOS Authentication Bypass via Internal Secret
Vulnerability Metadata
- Severity
- Critical
- Score / CVSS
- 9.8
- Creation Date
- 3h ago
- Vendor
- MemTensor
- Product
- MemOS
- Attack Type
- Incorrect Comparison
- Vector String
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Attack Complexity
- LOW
Narrative and Response
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.
Executive Summary
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Technical Details
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Mitigations
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
References
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Additional Metadata
{
"score": "9.8",
"pubDate": "2026-08-17T21:16:50.043Z",
"pubdate": "2026-08-17T21:16:50.043Z",
"executiveSummary": "MemOS contains an authentication bypass vulnerability within its internal request validation mechanism. The vulnerability is classified as an improper authentication flaw affecting deployments where authentication is explicitly enabled via AUTH_ENABLED=true but the INTERNAL_SERVICE_SECRET environment variable is left unset.\nThe risk implication is critical, as unauthenticated remote attackers can fully bypass security controls and obtain administrative privileges across the application. The system incorrectly treats requests lacking proper internal credentials as trusted internal principals granted with unrestricted administrative capabilities.\nAttacker capabilities include complete access to sensitive data endpoints and administrative API-key management interfaces. Exploitation allows malicious actors to enumerate existing API keys, revoke keys, mint arbitrary API keys for any user, and generate a master key for persistent privileged access to the deployment.\nExploitation requirements include a target deployment configured with AUTH_ENABLED=true where the undocumented and defaultless INTERNAL_SERVICE_SECRET environment variable has not been defined by the system administrator.",
"technicalDetails": "The vulnerability resides in the src/memos/api/middleware/auth.py component, specifically within the is_internal_request() check responsible for validating internal service communications.\nThe root cause stems from insecure handling of environment variables and missing header comparisons. When the INTERNAL_SERVICE_SECRET environment variable is unset, the function execution of os.getenv(\"INTERNAL_SERVICE_SECRET\") returns a None value. Simultaneously, if an incoming HTTP request completely omits the X-Internal-Service header, the extracted header value also evaluates to None.\nThe flaw occurs because the underlying validation logic performs a direct comparison between these two values. Since None == None evaluates to true, the authentication middleware erroneously concludes that the unauthenticated incoming request originates from a trusted internal principal.\nUpon successful evaluation of this flawed comparison, the security context of the request is elevated, and the caller is automatically granted the scopes: [\"all\"]. This completely bypasses standard access control enforcement mechanisms regardless of the AUTH_ENABLED=true configuration status.\nThe attack flow proceeds as follows: First, an unauthenticated remote attacker identifies a target MemOS instance where authentication is enabled. Second, the attacker issues HTTP requests to the target API endpoints while omitting the X-Internal-Service header. Third, the authentication middleware executes the vulnerable is_internal_request() check, which compares the unset environment variable against the missing header, resulting in a type and value match of None. Fourth, the application grants full administrative scopes [\"all\"] to the incoming connection.\nPost-exploitation impact includes full compromise of the affected memory operating system. The attacker can interact with administrative API-key management endpoints to enumerate keys, revoke active keys, mint new administrative or user-specific API keys, and generate a persistent master key, ensuring long-term privileged access to all data endpoints and internal functionalities."
}