SiYuan — это система управления персональными знаниями. В версиях 3.6.0 и ниже POST /api/import/importStdMd передает параметр localPath непосредственно в model.ImportFromLocalPath с нулевой проверкой пути. Функция рекурсивно считывает каждый файл по заданному пути и постоянно сохраняет их содержимое в виде документов заметок SiYuan в базе данных рабочей области, что делает их доступными для поиска и доступа для всех пользователей рабочей области.
Данные сохраняются в базе данных рабочей области после перезапуска и доступны для учетных записей службы чтения службы публикации. В сочетании с SQL-инъекцией renderSprig (отдельная рекомендация) пользователь, не являющийся администратором, может читать все импортированные секреты без каких-либо дополнительных привилегий. Эта проблема исправлена в версии 3.6.1.
Показать оригинальное описание (EN)
SiYuan is a personal knowledge management system. In versions 3.6.0 and below, POST /api/import/importStdMd passes the localPath parameter directly to model.ImportFromLocalPath with zero path validation. The function recursively reads every file under the given path and permanently stores their content as SiYuan note documents in the workspace database, making them searchable and accessible to all workspace users. Data persists in the workspace database across restarts and is accessible to Publish Service Reader accounts. Combined with the renderSprig SQL injection ( separate advisory ), a non-admin user can then read all imported secrets without any additional privileges. This issue has been fixed in version 3.6.1.
Характеристики атаки
Последствия
Строка CVSS v3.1
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
B3log Siyuan
cpe:2.3:a:b3log:siyuan:*:*:*:*:*:*:*:*
|
— |
3.6.1
|