CVE-2026-77361
ŚrednieCVSS 4.7Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 1 - wyżej niż 1% wszystkich znanych CVE
Streszczenie
obsidian-tc przed wersją 1.3.1 sprawdza listę kontroli dostępu (ACL) na podstawie leksykalnej ścieżki względem katalogu, podczas gdy sprawdzenia zawierania używają ścieżki rozwiązanej. Dowiązanie symboliczne w katalogu, które jest dozwolone przez glob, ale wskazuje na zabroniony folder, może ominąć ACL i ujawnić pliki w zabronionym folderze. Wykorzystanie wymaga dowiązania symbolicznego umieszczonego poza pasmem i nie pozwala na wyjście poza katalog główny.
Ocena ryzyka
Ryzyko polega na możliwości odczytu plików z folderów, do których użytkownik nie powinien mieć dostępu, co może prowadzić do wycieku danych.
Rekomendacja
Zaleca się aktualizację obsidian-tc do wersji 1.3.1 lub nowszej, która stosuje sprawdzenia ACL do rozwiązanej ścieżki względem katalogu.
Inne podatności w obsidian-tc
Zobacz wszystkie- CVE-2026-115478Wysokie
W obsidian-tc (od 1.0.1 do 1.31.4) narzędzia create_entity, link_entities, rename_entity, unlink_entities i delete_entity regenerują notatki pamięci z SQLite pod ścieżką memory/<typ>/<nazwa>.md bez niezawodnego zachowania własności notatki, co może nadpisać całą treść ręcznie utworzonej notatki lub osieroconej notatki innej encji o tej samej znormalizowanej ścieżce. Ponadto kilka narzędzi modyfikuje SQLite przed operacjami na systemie plików, więc błąd zapisu może pozostawić niespójny graf pamięci względem notatek na dysku.
- CVE-2026-115477Wysokie
W obsidian-tc w wersjach od 1.13.0 do 1.31.4, wdrożenie Streamable HTTP z skonfigurowanym `auth.jwtSecret` pozwalało na obejście potwierdzenia człowieka przy wywołaniach narzędzi oznaczonych jako destrukcyjne. Serwer ufał ważnemu powiązanemu z wywołaniem `requestState` jako dowodowi zatwierdzenia, mimo że stan ten był tworzony przed zapytaniem `elicitation/create` i potwierdzał jedynie przynależność ponownego zgłoszenia do tego samego wywołania. Klient działający niepoprawnie lub pod kontrolą atakującego mógł wykonać destrukcyjne operacje na skarbcu bez zgody człowieka, zachowując zwykłe uprawnienia narzędzia.
- CVE-2026-77366Krytyczne
W obsidian-tc przed wersją 1.3.1 dyspozytor narzędzi nie porównuje wartości input.vault kontrolowanej przez wywołującego z sejfem przypisanym do wywołującego, token JWT nie zawiera roszczenia vault, a lista kontroli dostępu do folderów jest współdzielona globalnie. Każdy ważny token może wybrać inny skonfigurowany sejf i odczytywać, zapisywać lub usuwać jego zawartość.
- CVE-2026-77362Średnie
obsidian-tc przed wersją 1.3.1 nie stosuje spójnie listy kontroli dostępu (ACL) do wszystkich zwracanych pól. Narzędzie tasks_filter ujawnia liczby grup pochodzące z niedozwolonych notatek, makemd_query przekazuje nieprzefiltrowane pola wynikowe, a list_templates ujawnia ścieżki szablonów i treści funkcji użytkownika bez sprawdzenia białej listy odczytu. Uwierzytelniony wywołujący może wywnioskować lub odczytać dane z notatek spoza swojej listy ACL.
- CVE-2026-77364Średnie
obsidian-tc to zarządzany serwer Model Context Protocol dla sejfów Obsidian. W wersjach przed 1.3.1 niezdefiniowane ustawienia readPaths i writePaths zezwalają na wszystkie ścieżki, strictReadDefault nie chroni bezpośrednich żądań, a katalogi kontrolne .obsidian, .git i .trash są wykluczane tylko podczas enumeracji. Uwierzytelniony wywołujący może bezpośrednio odczytać wrażliwe pliki, takie jak .obsidian/plugins/*/data.json.
- CVE-2026-77363Wysokie
Podatność w obsidian-tc, serwerze Model Context Protocol dla vaultów Obsidian, przed wersją 1.3.1, nie waliduje nagłówków Host lub Origin ani nie włącza ochrony przed DNS-rebinding w transporcie Streamable HTTP. Przy konfiguracji loopback z auth.mode ustawionym na none, złośliwa strona internetowa może wysyłać żądania do lokalnego punktu końcowego MCP i uzyskać nieograniczony dostęp do vaultu przez wywołanie http-local. Wersja 1.3.1 naprawia problem poprzez włączenie walidacji hosta, origin i DNS-rebinding.
Oryginalny opis (angielski, źródło NVD)
obsidian-tc is a governed, agent-ready Model Context Protocol server for Obsidian vaults. Prior to 1.3.1, read access-control list (ACL) checks use a lexical vault-relative path while containment checks use the resolved path. An in-vault symlink under an allowed glob that resolves into a denied folder can therefore bypass the read ACL and expose files in the denied folder. Exploitation requires an out-of-band-planted symlink and does not permit an escape from the vault root. Version 1.3.1 fixes the vulnerability by applying ACL checks to the resolved vault-relative path.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

