CVE-2026-75110
KrytyczneCVSS 9.8Streszczenie
MemOS to system operacyjny pamięci dla LLM i agentów AI. W środowiskach, gdzie uwierzytelnianie jest włączone (AUTH_ENABLED=true), ale zmienna środowiskowa INTERNAL_SERVICE_SECRET (bez wartości domyślnej) nie jest ustawiona, funkcja is_internal_request() w src/memos/api/middleware/auth.py zawodzi w trybie otwartym: os.getenv("INTERNAL_SERVICE_SECRET") zwraca None, a żądanie bez nagłówka X-Internal-Service również daje None, więc porównanie None == None jest prawdziwe. Żądanie jest traktowane jako zaufany wewnętrzny podmiot i otrzymuje zakresy: ["all"]. W rezultacie nieuwierzytelniony zdalny atakujący może uzyskać dostęp do endpointów zarządzania kluczami API administratora, aby tworzyć klucze API dla dowolnego użytkownika, wyliczać klucze, odwoływać klucze i generować klucz główny dla trwałego uprzywilejowanego dostępu, a także do wszystkich endpointów danych.
Ocena ryzyka
Ryzyko jest krytyczne: nieuwierzytelniony atakujący może uzyskać pełną kontrolę nad systemem, w tym tworzyć klucze API i uzyskać trwały dostęp uprzywilejowany.
Rekomendacja
Zaleca się natychmiastowe ustawienie zmiennej środowiskowej INTERNAL_SERVICE_SECRET i wdrożenie poprawek, jeśli są dostępne.
Oryginalny opis (angielski, źródło NVD)
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.

