Asayomu Tech
注目★★★★★GitHub Advisory

YesWiki の API に二次 SQL インジェクション、ページ削除時にタグ未エスケープで任意 SQL 実行可能

30秒で把握

  • 1YesWiki の deletePage API にページタグ未エスケープの二次 SQL インジェクション脆弱性が存在
  • 2認証済みユーザーが任意 SQL を実行・時間ベースのデータ流出が可能・INSERT 時エスケープは正常で読み出し時に欠落
  • 3ページ削除権限の制限と最新版への早期更新を推奨・管理者は DB レベルのアクセス制御も検討

要約

YesWiki の `ApiController::deletePage()` メソッドがデータベースから取得したページタグを SQL クエリに直接埋め込み、エスケープを行わない二次 SQL インジェクション脆弱性がある。認証済みの低権限ユーザーは、シングルクォートを含む任意のタグを持つページを作成し、標準の `{{include}}` リンク機構で参照可能な状態にした後、削除 API を呼び出すことで、データベース上の任意テーブルから時間ベースのデータ流出を含む任意 SQL を実行できる。INSERT 時は正しくエスケープされるため、悪意あるタグは完全に保存されたまま検証を通過し、読み出し・再利用時にエスケープが欠落する典型的な二次インジェクションの構図である。

あなたへの影響

YesWiki を自社 Wiki やナレッジベースで運用する場合、認証設定の見直し (ページ削除権限の制限) と最新版への更新を早期に検討してください。

推奨:データベースレベルのアクセス制御 (削除権限の分離) も補助的対策になります。

詳細を読む → 元記事へ※ 本文は元記事をご確認ください (asayomu は要約のみ提供)

関連する記事

※ 外部記事の権利は原著作者に帰属します。著作権削除要請は copyright@asayomu.jp までご連絡ください(受領確認 24h・実処理 72h 以内)。