概要
SiYuan は 個人 向け の ナレッジ マネジメント システム であり、ローカル ファースト の アーキテクチャ を 採用 して いる ことで 知られて います。デスクトップ 版 では ローカル の ファイル システム と 密接 に 連携 する 機能 が 多数 搭載 されて おり、その中 の 一つ が HTML コンテンツ を ブロック DOM に 変換 する API エンドポイント /api/lute/html2BlockDOM です。
この 脆弱性 は 当該 エンドポイント に おける パス 検証 の 不備 に 起因 します。デスクトップ 版 に おいて 貼り付け られた HTML 内 の file:// リンク が 指す ローカル ファイル を ワークスペース の assets ディレクトリ に コピー する 際、機密 パス リスト に 対する バリデーション が 行われて いません でした。この 結果、攻撃者 は 悪意 の ある HTML を 貼り付ける こと で、/etc/passwd や SSH 鍵 ファイル など の 機密 ファイル を assets ディレクトリ に コピー させる こと が 可能 です。
さらに GET /assets/*path エンドポイント と 組み合わせる こと で、コピー された 機密 ファイル を リモート から 取得 する こと が でき、結果 として 機密 ファイル の 漏洩 が 発生 します。この 攻撃 チェーン は CWE-22(パストラバーサル)、CWE-200(情報漏洩)、および CWE-284(不適切 な アクセス制御)の 複合 的 な 問題 として 分類 されて います。CVSS スコア 9.9 と 非常 に 高い 深刻度 が 付与 されて おり、早急 な 対応 が 必要 です。
技術的 背景
パストラバーサル(CWE-22)は ファイル パス の 入力値 を 適切 に 検証 しない こと で、意図 しない ディレクトリ の ファイル に アクセス される 脆弱性 です。本件 では file:// プロトコル の URI を 経由 して ローカル ファイル システム 上 の 任意 の パス を 参照 できて しまう 点 が 問題 です。
SiYuan の デスクトップ 版 は Electron ベース の アプリケーション であり、ローカル HTTP サーバー を 起動 して API を 提供 して います。通常 この サーバー は ローカルホスト のみ で 待ち受け ます が、ネットワーク 共有 設定 や リバース プロキシ の 構成 に よっては 外部 から の アクセス が 可能 に なる 場合 が あります。この よう な 環境 では 攻撃者 が リモート から 悪意 の ある HTML を 送信 し、機密 ファイル を 窃取 する リスク が 高まります。
情報漏洩(CWE-200)の 観点 から は、assets ディレクトリ に コピー された ファイル は 認証 なし で アクセス 可能 な 場合 が あり、これ に より 機密 情報 が 第三者 に 公開 される 危険性 が あります。不適切 な アクセス制御(CWE-284)は ファイル コピー 処理 に おける 権限 チェック の 欠如 を 表して います。
CVSS ベクトル
| 項目 | 値 |
|---|---|
| CVSS スコア | 9.9 |
| 深刻度 | Critical |
| CWE | CWE-22(パストラバーサル)、CWE-200(情報漏洩)、CWE-284(不適切なアクセス制御) |
| 攻撃元区分 | ネットワーク |
| 攻撃条件 の 複雑さ | 低 |
| 必要 な 権限 | 低 |
| ユーザー 操作 | 不要 |
影響 を 受ける ソフトウェア
| 製品 | 影響 バージョン | 修正 バージョン |
|---|---|---|
| SiYuan | v3.6.0 以下 | v3.6.1 |
修正 バージョン と 回避策
SiYuan v3.6.1 で この 脆弱性 は 修正 されて います。v3.6.0 以下 を 使用 して いる ユーザー は 速やか に v3.6.1 以降 へ アップデート して ください。アップデート が すぐ に 適用 できない 場合 は、SiYuan の ネットワーク 共有 機能 を 無効 に し、ローカルホスト 以外 から の API アクセス を ファイアウォール 等 で 遮断 する 暫定 的 な 回避策 を 検討 して ください。また、assets ディレクトリ の 内容 を 定期的 に 確認 し、意図 しない ファイル が 含まれて いない か 監視 する こと も 推奨 されます。
関連 リンク
データソース: NVD (NIST), GitHub Advisory Database AI解説 は Claude API に より 自動生成 されています。正確性 に ついては 原文 を ご確認 ください。
