状況の概要
2018年8月22日、Apache Foundationは、Apache Strutsバージョン2.3~2.3.34および2.5~2.5.16に影響を及ぼすリモート コード実行の脆弱性(CVE-2018-1176)に対する重大なセキュリティ更新をリリースしました。Apache Foundationはすべてのユーザーに、できる限り早くセキュリティ更新を適用するように要請しています。
このブログは、組織が脆弱性のリスクを評価するのに役立つ情報を提供すること、およびセキュリティ更新を適用できるようになるまでの間、リスクの軽減に役立つ保護が実施されていることをパロアルトネットワークスのお客様に通知することを目的としています。2018年8月24日にリリースされた最新の脆弱性シグネチャを導入しているパロアルトネットワークスのお客様は、保護されています。
脆弱性情報
Apache Foundationおよびセキュリティ研究者Man Yue Mo氏の両者によれば、この脆弱性は、脆弱性のあるバージョンのApache Strutsを実行しているサーバでのリモート コード実行を有効にできます。攻撃手段として、特別に細工したURLを、脆弱性のあるシステムに送信します。ほとんどの場合、これは、脆弱性を悪用するのに認証が必要ないことを意味します。
成功した攻撃は、Strutsが使用しているセキュリティ コンテキストでコードを実行します。場合によっては、これが実際にシステム全体の侵害につながる恐れがあります。
ただし、この脆弱性は、デフォルト設定では悪用できないことに注意してください。システムが攻撃に対して脆弱になるには、次の2つの条件が満たされる必要があります。
- Strutsの設定で、alwaysSelectFullNamespaceフラグが「true」に設定されている。(注: 有名なStruts Conventionプラグインをアプリケーションで使用している場合、このフラグはプラグインによってデフォルトで「true」に設定されます)。
- Strutsアプリケーションで、名前空間を指定せずに設定された、またはワイルドカード名前空間を使用して設定された「アクション」を使用している。この条件は、Struts設定ファイルで指定されるアクションと名前空間に適用されます。注: 有名なStruts Conventionプラグインをアプリケーションで使用している場合、この条件はJavaコードで指定されるアクションと名前空間にも適用されます。
Strutsアプリケーションが上記の両方の条件を満たしていない場合でも、アプリケーションが脆弱である可能性はありますが、(現時点では) CVE-2018-11776を悪用することはできません。
特に、有名なStruts Conventionプラグインをアプリケーションで使用している場合は、このプラグインを使用しない他のStruts実装に比べて、悪用の危険性は潜在的に高くなると思われます。
脅威環境情報
この脆弱性は、それに対処するセキュリティ更新とともに、8月22日に公開されました。現在判明している範囲で、脆弱性に関する詳細情報と悪用の方法が記載されています。また、すでに概念実証(PoC)コードが公開されています。前述したように、このPoCは、脆弱性があり、悪用するための両方の条件を満たすシステムに対してのみ有効です。
前回のStrutsの重大な脆弱性は、昨年セキュリティ更新と脆弱性情報がリリースされたわずか3日後には活発に攻撃されたことが報告されています。
現時点では、活発な攻撃について報告はありません。脆弱性が悪用可能になるために2つの非デフォルト条件が満たされる必要があるという現在の要件が、他とは異なる脅威環境を生み出しています。
ただし、有効なPoCが存在しているので、当面はこの脆弱性が活発に悪用されることがないとしても、最低限のプローブがあることは予想できます。
組織は、次の4点に重点を置いて、パッチを適用できるまでの間の攻撃の可能性に対するリスク評価を実行する必要があります。
- Struts Conventionプラグインを使用しているか?
- 悪用するために必要な条件を両方とも満たしているか?
- 現在のPoCを使用した武器化または攻撃の兆候はあるか?
- 悪用するために必要な2つの条件が無意味になる、新しいPoCまたは攻撃が開発されているか?
パロアルトネットワークスのお客様へのガイダンスと保護
脆弱性のあるApache Strutsを実行している全組織が、できる限り早くセキュリティ更新を導入する必要があります。
組織は、そのセキュリティ ポリシーとリスク評価、および現在入手可能な情報に基づいて、セキュリティ更新のスケジューリングと導入の優先順位を付けることができ、またそうする必要があります。
2018年8月24日にリリースされたコンテンツ リリース バージョン8057 (ID 33948、名前: Apache Struts 2 Remote Code Execution Vulnerabilityを含む)の脆弱性シグネチャを導入済みのパロアルトネットワークスのお客様は、その脆弱性に対して現在知られているエクスプロイトから保護されています。
お客様は、上記で推奨されているセキュリティ更新を導入すべきですが、、即座に保護を強化するために最新の脆弱性シグネチャを導入することができ、またそうする必要があります。お客様は、セキュリティおよびセキュリティ更新の導入に関する意思決定の際、および脆弱性と脅威の環境のリスク評価の際、この使用可能な保護の強化をその一部として考慮することができ、またそうする必要があります。
いつもと同様に、パロアルトネットワークスは状況を注意深く監視しており、新たな詳細が分かり次第、お客様に提供します。