問題
- フラグメントツールキットを使用してフラグメントをビルドする際に、yarn.lockファイル内のEJSバージョンに関連する脆弱性の問題(ejsテンプレートインジェクションの脆弱性)が報告されました。
- このyarn.lockファイルの多くの場所で、EJSのバージョンが3.1.9以下になっている。
環境
- Liferay DXP 7.4
解像度
- フラグメント・ツールキットは非推奨となり(ロードマップ通り)、フラグメント用に別のツールを持つ代わりに、この機能はポータル内の他のツールに統一される。
-
EJSの脆弱性に関しては、EJSライブラリは開発者の新しいファイルを生成するときにのみ実行されます(例えば、
yarn run add-fragment
を実行する)。各テンプレートによって生成されたコードは、開発者によってレビューされ、更新されることができます(そして、更新されるべきです)。 したがって、この懸念に対する唯一の実行可能な修正は、コードを見直し、有害なコードがポータルに到達しないようにすることである。
フラグメント・ツールキットは定型的なコードを生成するためにのみ使用され、開発者によってレビューされる限り、ポータルにコードを提出しても問題ないことに注意してください。
-
さらに、EJSの脆弱性の問題を(フラグメント・ツールキット内部で)防ぐのに役立つかもしれない提案をいくつか紹介します:
- ポータルが公開されている本番環境と同じマシンではなく、別の開発環境でフラグメントを開発するようにしてください。 依存関係が更新されても、同じことを守らなければならない。
- このようなセキュリティポリシーがある場合(妥当かもしれません)、フラグメントを外部のマシンで開発し、UIを使ってインポートすることをお勧めします。