2022年9月に公開されている「ディレクトリトラバーサルの脆弱性(JVN#21213852)」について解説します。
この脆弱性は公式サイトでは「リスク低」となっており、管理ユーザーに悪意がある場合、管理者アカウントの漏洩が起きた場合や他の脆弱性によって管理者権限を取得されてしまっている場合に攻撃が成立する脆弱性です。
ディレクトリトラバーサルとは?
ディレクトリトラバーサル(パストラバーサル)とは一般的にサーバー上のディレクトリやファイルを参照・操作できてしまう脆弱性です。
これは通常、ウェブサイトがユーザー入力を不適切に制御またはサニタイズせず、外部からの入力をファイル名やパスとして使用することで発生します。
本脆弱性の概要
特定のパス指定文字列( ‘../’ )を含むリクエストが禁止されていないため、サーバー上のディレクトリの有無を確認できてしまうといったものです。(ただし上でも触れた通り、管理者権限が必要です)
修正方法は、リクエストに対して適切な検証処理を行うことです。
脆弱性修正の難易度について
コードの修正は指摘部分のソースを書き換えてキャッシュ削除を行えば良いため、難易度は高くありません。
テンプレートをappディレクトリ にコピーしている場合などは対応漏れがないようにしてください。app/template/admin/にテンプレートがコピーされている場合があります。
また、反映後に必ずブラウザでソースが書き換わっているかどうか確認してください。
EC-CUBEに関するお問い合わせ
[重要]現在公式にセキュリティサポートが切れていないPHPは8.1以上、MySQLは8.0以上で、対応しているEC-CUBEバージョンは4.2以上です。古いEC-CUBEを使っている方は適切なタイミングでバージョンアップをご検討ください。