Проверка SiYuan getConf для non-admin и anonymous readers: allowlist полей, canary secrets и parity с configuration-export redaction.
Когда проверять SiYuan /api/system/getConf response
Non-administrator getConf response не скрывал три значения, которые configuration export уже удалял, включая session-cookie signing key и OS username; commit выравнивает границу. Сначала сопоставляют advisory с реально загруженной версией, package/image/kernel digest и включённым entry point; название продукта или похожий симптом недостаточны. Если provenance не подтверждён, итог остаётся UNKNOWN. Карточка GHSA-h4v5-crx2-3cv4 и первичное изменение задают узкую границу, а не сообщают о событии в вашей среде. Для иной ветки, backport или configuration вывод пересчитывают отдельно. Диагностика здесь направлена на предотвращение вреда и не содержит эксплуатационного payload.
Evidence map: field inventory getConf × export path × principal class × canary present × replacement
Создайте артефакт «field inventory getConf × export path × principal class × canary present × replacement». В него заносят SiYuan revision, response schema, anonymous/reader/admin roles, three synthetic canary fields, export output hash and cache headers. Для каждого значения укажите источник: runtime query, signed artifact hash, deterministic test marker или configuration snapshot. Не смешивайте desired state с effective state и не подменяйте loaded binary записью в lockfile. Сохраняйте только относительные identifiers и счётчики; IP, hostnames, usernames, secrets, реальные документы, содержимое памяти и полные журналы не нужны для решения. Пустое поле обозначайте UNKNOWN, а не PASS.
Лабораторный протокол для siyuan-getconf-secret-redaction-parity
В disposable config задать очевидные fake canaries, запросить getConf тремя synthetic roles и экспорт, проверяя только имена полей/маркеры без рабочих secrets. До запуска зафиксируйте baseline, SHA-256 fixture, максимум итераций, deadline и способ полного rollback. Положительный control подтверждает, что harness действительно достигает нужной функции; отрицательный обязан остановиться на заявленном validator/authorization/lifecycle boundary. После опыта выполните cleanup и повторно снимите counters. Меняется только один фактор, поэтому наблюдаемый результат можно связать с исправлением. Стенд не использует production credentials, customer data, внешние targets или рабочую нагрузку.
Таблица решения по CVE-2026-72793
PASS фиксируют только когда выполняется условие: Anonymous и reader responses не содержат canaries или sensitive fields, export остаётся redacted, admin behavior соответствует documented scope, marker scan даёт ноль утечек. Действие владельца: Обновить SiYuan до revision с commit; до этого закрыть getConf для anonymous/read-only publish surface и ротировать реально раскрытый key по отдельному incident process. AFFECTED означает, что реальный runtime входит в опубликованный диапазон и нужный path доступен. UPDATE-REQUIRED используют при отсутствии подтверждённого fix. NOT-REACHABLE относится лишь к проверенной ветке, не ко всему продукту. После обновления повторяют идентичный control и штатный smoke-test; соседние policy, firmware, network или storage параметры одновременно не меняют, иначе доказательство причинности теряется.
Остановка и безопасная передача SiYuan /api/system/getConf response
Stop-rule: Не вставлять действующий CookieKey или username, не сохранять raw config и остановиться, если test instance использует общий session store. При первой неожиданной ошибке не расширяйте права, охват, размер входа или длительность. В минимальный пакет сопровождения входят: binary/commit digest, role matrix, field-name allowlist, canary scan counts, response schema hashes and isolated-session cleanup. Добавьте московский timestamp, expected/actual, ссылки на advisory и primary change, владельца rollback. Удалите токены, адреса, персональные данные и raw payloads. Этот пакет подтверждает только выбранный инвариант: он не доказывает отсутствие прошлой эксплуатации, применимость к другой сборке, популярность проблемы, индексацию или будущие позиции страницы.
Материал подготовлен редакцией VOne с помощью автоматизированного черновика. Факты и границы вывода сверены 5 сентября 2026 года по прямой advisory и первичному upstream изменению. Текст написан самостоятельно; опасные действия и реальные пользовательские данные не использовались.
Источники и проверка
- GitHub Advisory GHSA-h4v5-crx2-3cv4 проверено 2026-09-05
- Primary fix for SiYuan /api/system/getConf response проверено 2026-09-05
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.