質問
Apache Struts 1.xがLiferay DXP 7.0に搭載されました。 Apache Struts 1.xは2013年に製品寿命が尽きました。 Liferayは、現在および将来のバージョンでApache Strutsを使い続けるというスタンスですが、どのようなものでしょうか?
解像度
Liferayの製品は、Struts 1.xの機能の限られたセットしか利用していないため、報告されたすべての脆弱性がLiferayの製品に適用されるわけではありません。 Liferayは2013年からStruts 1.xを独自にサポートし、パッチを当てています。 具体的には、Struts 1.xで見つかったセキュリティの脆弱性が、Liferayの製品にセキュリティの脆弱性をもたらす場合、Liferayはその脆弱性を修正しています。
Liferay Product Teamは、次期バージョンのLiferay DXP 7.2 (LPS-75763) でApache Struts 2.xを使用しないことを決定しました。 Apache Struts 1.xについては、以下の製品バージョンに応じた情報をご参照ください。
Liferayプラットフォームへの影響
Liferay DXP 7.2
Apache Struts 1.x は、DXP 7.2 から完全に削除されました。 Liferay DXPのコードの中には、まだ strutsという単語が含まれているものがあります。 ただし、Liferay DXP 7.2+は、Apache Strutsのライブラリへの依存はありません。
Liferay DXP 7.1
DXP 7.1 Fix Pack 3 以降では、Apache Struts はプラットフォームから一部削除されました。 Apache Portal Bridges は util-bridgesから削除されました。 Apacheの struts-el, struts-extras, struts-taglib, struts-tiles ライブラリも削除されました。 struts-core libraryなど、その他のApache Strutsの依存関係は削除されていません。 具体的には、Apache Struts 1.x内で使用される機能は、Struts ActionとAction Configurationの機能のみです。 StrutsのAction Form、タグライブラリ、タイルなどの関連機能は活用されていません。
Liferay DXPでApache Strutsを活用しようとするカスタムモジュールは、Strutsのクラスを直接呼び出すか、サードパーティの依存関係をモジュール内に含める必要があります。
Liferay DXP 7.0
DXP 7.0 Fix Pack 59 以降、Struts はプラットフォームから一部削除されました。 ただし、Fix Pack 59 をインストールされるお客様には、Apache Strutsの実装に関わらず、これによる悪影響はないと思われます。
デベロッパーへの影響
Liferay DXP 7.1
カスタムモジュールで Apache Struts を使用している開発者は、この変更の影響を受ける可能性があります。 ポートレット内でStrutsのアクションを使用しているか、Strutsのポートレットを作成しているかで異なります。 Liferay DXPシステムで必要なサードパーティライブラリが利用できないため、部分削除によりStrutsポートレットの依存関係が壊れます。 Strutsのアクションを使用している場合は、特に影響はないはずです。 Strutsポートレットのアップデートについては、こちらの記事 を、ポートレットプラグインのアップグレードについては をご覧ください。
追加情報
- 記事をご覧ください: Apache Struts 1 既知の脆弱性
- Strutsライブラリの削除については、 LPS-85722 をご参照ください。
- Liferay の Third-party Support Coverage ポリシーをご参照ください。
- Struts 1の脆弱性については、このフォーラム の投稿 を参照してください。