Katalog CVE

CVE-2026-100633

ŚrednieCVSS 6.5
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Streszczenie

SiYuan w wersjach 3.8.0–3.8.3 stosuje zabezpieczenie wrażliwych ścieżek w narzędziu plikowym MCP (util.IsForbiddenAbsPath() wywoływane z resolvePath()) tylko do dozwolonego katalogu głównego operacji rekurencyjnych, a nie do każdej rozwiązywanej ścieżki potomnej — niekompletna poprawka GHSA-c8r8-95hg-mp34. Uwierzytelniony administrator używający Agenta w aplikacji lub zewnętrznego serwera MCP może obejść denylistę chronionych plików obszaru roboczego: file.grep może zwracać pasujące linie z chronionych potomków, file.copy może kopiować chronionych potomków do zwykłej ścieżki, a unzip może nadpisywać chronionych potomków. Naprawiono w wersji 3.8.4.

Ocena ryzyka

Uwierzytelniony administrator może obejść denylistę chronionych plików i uzyskać dostęp do poufnych danych, takich jak klucze TLS, konfiguracja czy wewnętrzne pliki notatnika.

Rekomendacja

Zaktualizuj SiYuan do wersji 3.8.4 lub nowszej, która stosuje zabezpieczenie wrażliwych ścieżek do każdej rozwiązywanej ścieżki potomnej w operacjach rekurencyjnych MCP.

Inne podatności w SiYuan

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

SiYuan is a self-hosted personal knowledge management system. In versions 3.8.0 through 3.8.3, the MCP file tool's sensitive-path guard (util.IsForbiddenAbsPath(), invoked from resolvePath()) is applied only to the allowed root of recursive operations and not to each resolved descendant path — an incomplete fix for GHSA-c8r8-95hg-mp34. An authenticated administrator using the in-app Agent or the external MCP server can therefore bypass the protected-workspace-file denylist: file.grep can return matching lines from non-hidden protected descendants (for example conf/conf.json, TLS keys, data/snippets/conf.json, data/templates/, data/.siyuan/publishAccess.json, notebook .siyuan internals, or the kernel log), file.copy can copy protected descendants to an ordinary path where file.read can then retrieve them, and unzip can overwrite protected descendants using ordinary, lexically contained ZIP member names. Because file.grep is globally classified as a safe action, it receives no per-call confirmation, and the confirmation cards for file.copy and unzip show only the allowed root arguments. This issue is fixed in version 3.8.4. Suggested title: SiYuan 3.8.0 through 3.8.3 Sensitive-Path Guard Bypass in Recursive MCP File Operations.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS