2021年5月に公開されている「クロスサイトスクリプティングの脆弱性(JVN#97554111)」について解説します。

この脆弱性は非常に大きな脆弱性で、サイト運営者はおそらく何度も連絡を受けていると思いますが、今一度独自カスタマイズ部分や導入プラグインにも修正漏れがないか確認してください。

それほどアクセス数が多くないサイトやあまり管理していないサイトでも狙われる可能性がありますので、必ず確認してください。

クロスサイトスクリプティングとは?

クロスサイトスクリプティング(XSS)は、攻撃者が悪意のあるスクリプトをウェブサイトに注入することを可能にします。これは、ウェブサイトがユーザーからの入力を適切に検証またはエスケープせずにブラウザに送信出力する場合に発生するものです。

ユーザー・管理者が悪意のあるスクリプトが埋め込まれたページにアクセスすると、スクリプトがブラウザで実行され、攻撃者はセッションデータを盗んだり、ユーザーのアクションを偽装したり、ユーザーに見えない形で悪意のある行動を実行したりすることができます。

本脆弱性の概要

受注管理 メール送信画面のこのコードが問題でした。form.tpl_data.vars.dataはユーザーが自由に入力できる内容を含むため、それをrawフィルタでそのまま出力している点が問題になります。

{{ form.tpl_data.vars.data|trans|raw|nl2br }}

独自カスタマイズ部分やプラグインについても対応が必要か

必須です。独自カスタマイズ部分やプラグインについても、似た内容のの該当箇所がないか必ず確認してください。

rawフィルタを使用している箇所にユーザーの入力内容が含まれる可能性がないか必ず検討する必要があります。

会員データや受注データに対して使用している部分があれば非常にリスクが高いためです。

脆弱性修正の難易度について

この脆弱性は未カスタマイズ状態のEC-CUBEであれば、修正方法は該当箇所のtwigファイル修正とキャッシュクリアのみです。

ただしメールのテンプレート機能や送信機能はよく独自カスタマイズが行われる機能であり、カスタマイズや導入プラグインによっては適切な対応方法が変わってくる可能性がありますのでご注意ください。

 

 

日本発!ECオープンプラットフォーム「EC-CUBE」 EC-CUBEゴールドパートナー EC-CUBEは株式会社イーシーキューブの商標です

EC-CUBEカスタマイズに関するお問い合わせはこちら


    [重要]現在公式にセキュリティサポートが切れていないPHPは8.1以上、MySQLは8.0以上で、対応しているEC-CUBEバージョンは4.2以上です。古いEC-CUBEを使っている方は適切なタイミングでバージョンアップをご検討ください。

    EC-CUBEバージョンアップ