CVE-2026-74798
WysokieCVSS 8.7Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 30 - wyżej niż 30% wszystkich znanych CVE
Streszczenie
SiYuan kernel przed wersją 3.7.4 zawiera podatność na przechodzenie po ścieżkach w narzędziu MCP database_clean. Narzędzie sprawdza tylko, czy parametr id nie jest pusty, zanim przekaże go do funkcji RemoveUnusedAttributeView, która buduje ścieżkę pliku bez walidacji formatu identyfikatora. Uwierzytelniony klient MCP może użyć sekwencji przechodzenia po ścieżkach, aby skopiować dowolny plik czytelny dla procesu do katalogu historii SiYuan (odczyt dowolnego pliku), a następnie usunąć oryginalny plik (usunięcie dowolnego pliku).
Ocena ryzyka
Atakujący może odczytać i usunąć wrażliwe pliki na serwerze, co może prowadzić do wycieku danych lub zakłócenia działania systemu.
Rekomendacja
Zaktualizuj SiYuan do wersji 3.7.4 lub nowszej, która zawiera poprawkę dla tego problemu.
Oryginalny opis (angielski, źródło NVD)
SiYuan kernel before v3.7.4 contains a path traversal vulnerability in the database_clean MCP tool. The tool performs only an empty-string check on the id parameter before passing it to RemoveUnusedAttributeView (kernel/model/attribute_view.go), which builds a filesystem path via filepath.Join without validating that id matches SiYuan's node-ID format. An authenticated MCP client can supply path traversal sequences in id to cause the kernel to copy an arbitrary file readable by the process into SiYuan's history directory (arbitrary file read) and then delete the original file (arbitrary file deletion). The corresponding HTTP API handler was hardened in GHSA-7hm9-v7vf-7g4w, but this MCP caller was not.

