注目★★★★★GitHub Advisory
SurrealDB 3.1.5: DEFINE ANALYZER mapper()による任意ファイル読取り脆弱性を修正
30秒で把握
- 1SurrealDB 3.1.5でmapper()フィルタ経由の任意ファイル読取り脆弱性を修正
- 2EDITOR/OWNERロールで起動資格情報・環境変数の漏洩につながる恐れ
- 3SURREAL_FILE_ALLOWLIST未設定時はデフォルト全拒否に変更・明示許可が必要
要約
SurrealDBのフルテキスト検索機能でEDITOR/OWNERロールを持つユーザーがDEFINE ANALYZERのmapper()フィルタを悪用し、SurrealDBプロセスが読み取れる任意ファイルの内容をクエリエラーメッセージ経由で取得できた。SURREAL_FILE_ALLOWLISTが空の場合(デフォルト)にパス制限が無効化されるのが原因で、起動引数(--user/--pass)や環境変数が漏洩しインスタンス全体の掌握につながる恐れがあった。SurrealDB 3.1.5でcheck_is_path_allowedが改修され、ALLOWLISTが未設定の場合はすべてのパスをデフォルトで拒否するよう修正された。
あなたへの影響
SurrealDBをセルフホストで運用中のチームは3.1.5へのアップデートを優先し、アップデートまでの間はSURREAL_FILE_ALLOWLISTを明示的に設定して緩和策を取ることが望ましい。
推奨:DBプロセスのOS実行ユーザー権限を最小化しておくと、類似の経路での影響範囲を抑えられる可能性がある。