Ядро SiYuan до версии 3.7.4 содержит уязвимость обхода пути в инструменте MCP data_clean. Инструмент выполняет только проверку пустой строки параметра id перед передачей его в RemoveUnusedAttributeView (kernel/model/attribute_view.go), который создает путь к файловой системе через filepath. Присоединяйтесь без проверки того, что id соответствует формату идентификатора узла SiYuan.
Аутентифицированный клиент MCP может предоставить последовательности обхода пути в идентификаторе, чтобы заставить ядро скопировать произвольный файл, читаемый процессом, в каталог истории SiYuan (произвольное чтение файла), а затем удалить исходный файл (произвольное удаление файла). Соответствующий обработчик HTTP API был усилен в GHSA-7hm9-v7vf-7g4w, но этот вызывающий объект MCP — нет.
Показать оригинальное описание (EN)
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.
Характеристики атаки
Последствия
Строка CVSS v4.0