注目★★★★★GitHub Advisory
Flyto2 Core に任意ファイル書き込み脆弱性、image.download で画像URLの内容を指定パスに保存可能
30秒で把握
- 1Flyto2 Core の image.download で攻撃者が output_dir と output_path の両方を制御でき、任意パスにファイル書き込み可能
- 2image.convert / image.resize / image.crop / image.compress / image.rotate も同じ脆弱性あり・パス検証が機能していない
- 3file.write は中央パス検証で保護されているが、他モジュールは output_path パラメータの検査がなく危険な状態
要約
Flyto2 Core の image.download モジュールに任意ファイル書き込み脆弱性が存在する。パス検証が呼び出し元のパラメータ (`output_dir`) を基準に行われるため、攻撃者が両方のパラメータを制御すると検証が無意味化し、HTTP応答のバイト列を任意の絶対パスに書き込める。image.convert、image.resize、image.crop など複数のファイル書き込みモジュールが同じ脆弱性を持つ。一方、file.write は中央パス検証 (validate_path_with_env_config) を使い FLYTO_SANDBOX_DIR 内に限定されている。
あなたへの影響
Flyto2 を使う場合、image.download など脆弱な複数モジュールへの入力値 (output_dir / output_path) が外部から制御可能でないか、コード内で即確認すべき。
推奨:必要に応じてパッチ公開まで当該モジュールの使用を控える検討を。