Skip to main content

MemOS EUVDEUVD-2026-60389

| CVE-2026-75110 CRITICAL
Incorrect Comparison (CWE-697)
2026-08-17 VulnCheck GHSA-v9vw-ccqp-q298
9.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Locate reachable MemOS API with auth enabled
  2. Delivery
    Send request omitting X-Internal-Service header
  3. Exploit
    is_internal_request compares None==None, grants scopes:all
  4. Execution
    Reach admin API-key management endpoints
  5. Persist
    Mint master key and per-user keys
  6. Impact
    Persistent privileged access to all data

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Incorrect comparison
Exploitation Conditions

Exploitation requires the target MemOS deployment to have authentication turned on (AUTH_ENABLED=true) while the undocumented INTERNAL_SERVICE_SECRET environment variable is left unset - this is the exact fail-open state, and because the variable is defaultless and undocumented, the unset condition is likely present unless an operator deliberately configured it. The attacker sends a request that simply omits the X-Internal-Service header, which is trivial. What LIMITS exploitation: if an operator has set INTERNAL_SERVICE_SECRET to any value, the bug does not trigger; the instance's admin/data API must also be network-reachable by the attacker. No authentication, no user interaction, and no special client platform are required beyond the ability to send an HTTP request to the API.

Impact

The signals are strongly aligned toward high priority: the CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N with VC:H/VI:H/VA:H) describes remote, unauthenticated, no-interaction exploitation yielding full confidentiality, integrity, and availability loss, and the failure mode is a one-line logic bug that any operator can verify against the public source. There is no CISA KEV listing and no EPSS score in the provided data, and I found no published proof-of-concept, so there is no evidence of active exploitation yet - but the bar to weaponize is essentially trivial. A crucial nuance is that exploitability hinges on a configuration state (INTERNAL_SERVICE_SECRET unset while AUTH_ENABLED=true); because that variable is undocumented and defaultless, the vulnerable state is plausibly the common case for operators who enabled auth without ever knowing the secret existed, which is what makes this dangerous rather than theoretical. Given that a successful request mints a master key for persistent admin access, any team running an internet-reachable MemOS instance should treat this as urgent and immediately audit whether the secret is set. The main uncertainty is prevalence of the misconfiguration in the wild, not the severity of the outcome.

Exploit ScenarioDerived

An attacker discovers an internet-reachable MemOS instance and sends a normal HTTP request to an admin API-key endpoint without any X-Internal-Service header. Because INTERNAL_SERVICE_SECRET is unset, the middleware treats the request as a trusted internal principal with scopes ['all'], and the attacker calls the key-management API to generate a master key. No proof-of-concept is publicly identified, but the attack requires only a single unauthenticated request and no special tooling given AV:N/AC:L/PR:N/UI:N.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
No patch listed yet 0.5% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 17, 2026

Authentication bypass in MemOS (MemTensor), a memory operating system for LLMs and AI agents, lets an unauthenticated remote attacker impersonate a trusted internal principal with full 'all' scopes. When AUTH_ENABLED=true but the undocumented INTERNAL_SERVICE_SECRET variable is left unset, a null-versus-null comparison in the internal-request check fails open, exposing admin API-key management and all data endpoints. Rated CVSS 4.0 9.3 (critical) by VulnCheck; no public exploit identified at time of analysis, though the flaw is trivially reproducible from the disclosed source.

RemediationAI

No vendor-released patch version was identified at time of analysis; the disclosure is tracked as GitHub issue #2259 (https://github.com/MemTensor/MemOS/issues/2259) rather than a tagged release. The immediate compensating control is to set INTERNAL_SERVICE_SECRET to a strong, high-entropy random value in every deployment where AUTH_ENABLED=true, which closes the None==None fail-open because a request omitting the X-Internal-Service header will no longer match the configured secret; the only side effect is that any legitimate internal service caller must be updated to send the matching header value. As defense in depth until a code fix lands, restrict network exposure of the MemOS API - bind it to localhost or an internal network and place the admin API-key management endpoints behind an authenticated reverse proxy or network ACL - and rotate/revoke any API keys or master keys that may have been minted, since a prior exploit would leave attacker-controlled credentials that survive the config change. Monitor the GitHub repository (https://github.com/MemTensor/MemOS) and the VulnCheck advisory (https://www.vulncheck.com/advisories/memos-authentication-bypass-via-unset-internal-service-secret) for a patched release and upgrade when available.

Affected VersionsENISA

memos 0 ≤2.0.30

Affected Packages

euvd memos no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The defect lives in src/memos/api/middleware/auth.py in the is_internal_request() helper. The code compares os.getenv('INTERNAL_SERVICE_SECRET') against the caller-supplied X-Internal-Service header; when the environment variable is unset it returns None, and a request that omits the header also yields None, so the equality check evaluates None == None as True. This is a textbook CWE-697 (Incorrect Comparison): the logic conflates 'no configured secret' with 'valid secret match,' so the absence of a value becomes a positive authentication result. MemOS is an open-source Python framework (CPE cpe:2.3:a:memtensor:memos) that brokers persistent memory and data for LLM/agent applications, and the affected middleware is the gate that distinguishes external users from privileged internal service calls.

Know when Memos gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 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
vuln.today AI 9.8 CRITICAL

Remote unauthenticated single request with no interaction (AV:N/AC:L/PR:N/UI:N); full admin over keys and data endpoints yields C:H/I:H, and key revocation/data control gives A:H, scope unchanged.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

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 ViewAI

Why It Matters

MemOS (MemTensor), the memory operating system for LLM and AI agent infrastructure, contains a critical authentication bypass (CVE-2026-75110, CVSS 9.3) that allows unauthenticated remote attackers to assume full administrative privileges. Organizations deploying MemOS face immediate risk of unrestricted access to AI system data, API credentials, and operational control.

Business Impact: Severe
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: (1) Immediately set INTERNAL_SERVICE_SECRET to a cryptographically random value on all production instances; (2) Restrict network access to MemOS admin and data API ports to trusted internal subnets using network-layer controls; (3) Enable request logging and configure alerts for anomalous API-key management or data access attempts; (4) Disable AUTH_ENABLED if the MemOS instance serves only non-production or sandboxed workloads; (5) Audit logs for any API calls from external sources during the period MemOS has been running.

Threat Intelligence Overview

EPSS Score
0.5%
Top 58% exploitable
Prevalence
Low
niche emerging open-source LLM memory framework, limited production footprint
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS 0.5%
Patch available No
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Out-of-Cycle
Exploitation
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact
Very High
Technical Impact
Total

Priority Score

47
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +46
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

More in Memos

View all
CVE-2025-22952 CRITICAL POC
9.8 Feb 27

elestio memos v0.23.0 is vulnerable to Server-Side Request Forgery (SSRF) due to insufficient validation of user-supplie

CVE-2022-4686 CRITICAL POC
9.8 Dec 23

Authorization Bypass Through User-Controlled Key in GitHub repository usememos/memos prior to 0.9.0. Rated critical seve

CVE-2022-4866 CRITICAL POC
9.0 Dec 31

Cross-site Scripting (XSS) - Stored in GitHub repository usememos/memos prior to 0.9.1. Rated critical severity (CVSS 9.

CVE-2022-4865 CRITICAL POC
9.0 Dec 31

Cross-site Scripting (XSS) - Stored in GitHub repository usememos/memos prior to 0.9.1. Rated critical severity (CVSS 9.

CVE-2023-5036 HIGH POC
8.8 Sep 18

Cross-Site Request Forgery (CSRF) in GitHub repository usememos/memos prior to 0.15.1. Rated high severity (CVSS 8.8), t

CVE-2023-4697 HIGH POC
8.8 Sep 01

Improper Privilege Management in GitHub repository usememos/memos prior to 0.13.2. Rated high severity (CVSS 8.8), this

CVE-2022-4844 HIGH POC
8.8 Dec 29

Cross-Site Request Forgery (CSRF) in GitHub repository usememos/memos prior to 0.9.1. Rated high severity (CVSS 8.8), th

CVE-2022-4809 HIGH POC
8.8 Dec 28

Improper Access Control in GitHub repository usememos/memos prior to 0.9.1. Rated high severity (CVSS 8.8), this vulnera

CVE-2022-4808 HIGH POC
8.8 Dec 28

Improper Privilege Management in GitHub repository usememos/memos prior to 0.9.1. Rated high severity (CVSS 8.8), this v

CVE-2022-4803 HIGH POC
8.8 Dec 28

Authorization Bypass Through User-Controlled Key in GitHub repository usememos/memos prior to 0.9.1. Rated high severity

CVE-2022-4689 HIGH POC
8.8 Dec 23

Improper Access Control in GitHub repository usememos/memos prior to 0.9.0. Rated high severity (CVSS 8.8), this vulnera

CVE-2022-4688 HIGH POC
8.8 Dec 23

Improper Authorization in GitHub repository usememos/memos prior to 0.9.0. Rated high severity (CVSS 8.8), this vulnerab

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy