
発見者: 360 Vulcan Team の Steven Seeley
バージョン: <= 4.12.x (最新)
日付: 2021-01-08 12:49
CVE: CVE-2021-26121
ショップ管理者 (ルート管理者とは異なります) は、テンプレートを編集する際にサーバーサイドの Smarty テンプレートインジェクションを利用してリモートコード実行を行うことができます。これは、CSCart がドキュメント https://www.smarty.net/docs/en/advanced.features.tpl#advanced.features.security で説明されている Smarty サンドボックスを実装していないためです。
通常、これは大きな問題ではありませんが、CSCart ではショップ管理者が他のショップ管理者のデータ (および基盤となる OS) にアクセスできることを意味します。このセキュリティ境界を考慮しているからこそ、CVE-2017-15673 を修正したのだと思います。
ショップ管理者としてログインすると、任意のテンプレートを編集できます。このケースでは、my_account.tpl テンプレートファイルを編集して {phpinfo()} を追加しました。

その後、インデックスページを表示し、マイアカウントのドロップダウンメニューをクリックすると、テンプレートの実行をトリガーできます:

また、ショップ管理者がグループ割り当てにより Files アクセスのみを持ち、他の権限がない場合でも、この脆弱性をトリガーできます。

そして、https://[redacted]/ デモサイトに影響を与える脆弱性はこちらです:
