注目★★★★★GitHub Advisory
SiYuan、埋め込み経由で非公開文書を漏えい
30秒で把握
- 1SiYuan の埋め込み処理が非公開・保護文書の内容を返却
- 2匿名読者または publish RoleReader が公開文書経由で閲覧可能
- 3getEmbedBlock は絞り込み済み、DOM 取得経路にフィルタ欠落
要約
SiYuan の埋め込みブロック処理に、公開権限フィルタを回避して非公開コンテンツを返す脆弱性がある。`getBlockDOMWithEmbed` と `getBlockDOMsWithEmbed` は要求元ブロックだけを検査し、埋め込みクエリで取得した非公開・非表示・禁止・パスワード保護文書のブロックを無検査で DOM に埋め込む。公開済み文書内の埋め込みを閲覧するだけで、匿名読者または publish の RoleReader が対象コンテンツを読める。`getEmbedBlock` には同じ結果を絞るフィルタがあり、問題は DOM 取得経路に限定される。影響は機密性に限られ、完全性と可用性への影響はない。
あなたへの影響
SiYuan の公開機能を使うチームは、埋め込みクエリを含む公開文書の閲覧経路と非公開情報の露出有無を確認し、修正版の適用を検討してください。
推奨:埋め込み(transclusion)は、別ブロックの内容を取得して表示する機能です。