ECCube4系でXSSの脆弱性が発見された。
問題の箇所の考察と対処方法をまとめる。
情報の出どころ
EC-CUBEのクロスサイトスクリプティングの脆弱性(CVE-2021-20717)に関する注意喚起
https://www.jpcert.or.jp/at/2021/at210022.html
EC-CUBE 4.0系: クロスサイトスクリプティング脆弱性について
https://www.ec-cube.net/info/weakness/20210507/
問題となっている箇所
問題となっているファイルは、以下のファイル。src/Eccube/Resource/template/admin/Order/mail_confirm.twig
オーバーライドしている場合は、以下も対象。
/app/template/admin/Order/mail_confirm.twig
脆弱性の危険があるページ
このファイルが利用されるページは、
受注管理 受注登録 画面下の「メールを作成」をクリックした画面。
テンプレート項目を選択すると、件名と本文がJavaScriptで自動セットされるが、本文がサニタイズされずにセットされるので、JavaScriptコードが入っていると、実行されてしまうようだ。
管理画面ページなので、この機能を使っていなかったり、不正にログインされたりしない限りは、大丈夫だろうと思うが、簡単な修正なのでやっておいた。
修正方法
114行目付近を変更下さい。
変更前
{{ form.tpl_data.vars.data|trans|raw|nl2br }}
変更後
{{ form.tpl_data.vars.data|trans|nl2br }}
rawヘルパーを削除しているようだ。