Asayomu Tech
注目★★★★★GitHub Advisory

CodeIgniter UploadedFile::move() にパストラバーサル脆弱性、v4.7.4 で修正

30秒で把握

  • 1CodeIgniter v4.7.4 未満で UploadedFile::move() が第 2 引数なしの場合にファイル名を未検証で使用
  • 2パストラバーサル攻撃で Upload ディレクトリ外に PHP シェルなどを書き込み可能に
  • 3v4.7.4 へのアップグレード または sanitize_filename() による事前検証で対策を

要約

CodeIgniter の UploadedFile::move() メソッドで、第 2 引数を指定しない場合にクライアント提供のファイル名が無検証で使用され、パストラバーサル攻撃が可能な脆弱性が存在した。攻撃者は `../../public/shell.php` などのパストを含むファイル名を供給し、意図した Upload ディレクトリ外にコンテンツを書き込める。v4.7.4 以降でデフォルト動作が修正される。

あなたへの影響

CodeIgniter を使う Web アプリケーションは v4.7.4 への update を確認し、アップロード機能で第 2 引数を省略している箇所を調査すること。

推奨:既に明示的にクライアント提供ファイル名を渡している場合も、アップグレード後に sanitize_filename() 等の検証が適切に機能しているか検証が必要。

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

関連する記事

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