2023年2月に公開されている「クロスサイトスクリプティングの脆弱性(JVN#04785663)」について解説します。
この脆弱性は公式サイトでは「リスク低」となっており、”サイトの状況によってはリスクがある”といった脆弱性となります。
クロスサイトスクリプティングとは?
クロスサイトスクリプティングとはユーザーのブラウザ上で悪意のあるスクリプトを実行できる可能性がある脆弱性です。
ユーザーのセッション情報の盗難、改ざんされたコンテンツの表示、フィッシング詐欺などがリスクに挙げられます。
本脆弱性の概要
指摘箇所で出力されるデータの適切なエスケープが行われておらず、そこに投入されるデータによってはXSSの攻撃が成功する可能性があります。ただしEC-CUBEの初期状態によるものではなく、カスタマイズやプラグインなどの状況による脆弱性と考えられます。
例えば商品ページのカート追加エラーを表示している部分で、下記のコードは初期状態であれば問題が起きるように見えませんが、カスタマイズやプラグインの仕様によってはリスクが生じます。
$('#ec-modal-header').html(this);
修正方法は、適切なエスケープ処理を行うことです。
脆弱性修正の難易度について
コードの修正は指摘部分のソースを書き換えてキャッシュ削除を行えば良いため、難易度は高くありません。
テンプレートをappディレクトリ にコピーしている場合などは対応漏れがないようにしてください。反映後に必ずブラウザでソースが書き換わっているかどうか確認してください。
対応が難しい場合は下記よりお問い合わせください。
EC-CUBEに関するお問い合わせ
[重要]現在公式にセキュリティサポートが切れていないPHPは8.1以上、MySQLは8.0以上で、対応しているEC-CUBEバージョンは4.2以上です。古いEC-CUBEを使っている方は適切なタイミングでバージョンアップをご検討ください。