2021年7月13日にWooCommerceで検出された重大な脆弱性–知っておくべきこと
公開: 2021-07-15最終更新日:2021年7月23日
2021年7月13日、WooCommerceおよびWooCommerce Blocks機能プラグインに関する重大な脆弱性が特定され、セキュリティ研究者のJoshがHackerOneセキュリティプログラムを介して責任を持って開示しました。
この問題について知ると、私たちのチームはすぐに徹底的な調査を行い、関連するすべてのコードベースを監査し、脆弱なストアに自動的にデプロイされた影響を受けるすべてのバージョン(90以上のリリース)の問題を修正するパッチを作成しました。
WooCommerceストアを持っています-どのようなアクションを取る必要がありますか?
WooCommerce 5.5.1の自動ソフトウェアアップデートは、2021年7月14日に、影響を受ける各プラグインの影響を受けるバージョンを実行しているすべてのストアに展開され始めましたが、最新バージョンを使用していることを確認することを強くお勧めします。 WooCommerceの場合、これは5.5.2 *またはリリースブランチで可能な最大数です。 WooCommerce Blocksも実行している場合は、そのプラグインのバージョン5.5.1を使用する必要があります。
重要:2021年7月23日のWooCommerce 5.5.2のリリースに伴い、上記の自動更新プロセスは中止されました。
パッチを適用したバージョンに更新した後は、次のこともお勧めします。
- 特に複数のWebサイトで同じパスワードを再利用する場合は、サイトの管理者ユーザーのパスワードを更新します
- サイトで使用されているPaymentGatewayおよびWooCommerceAPIキーをローテーションします。
これらの手順の詳細については、以下をご覧ください。
* WooCommerce 5.5.2は2021年7月23日にリリースされました。このバージョンに含まれる修正は、最近のセキュリティの脆弱性とは無関係です。
自分のバージョンが最新かどうかはどうすればわかりますか?
次の表には、WooCommerceブロックとWooCommerceブロックの両方のパッチが適用されたバージョンの完全なリストが含まれています。 このリストにないバージョンのWooCommerceまたはWooCommerceBlocksを実行している場合は、リリースブランチの最新バージョンにすぐに更新してください。
パッチを当てたWooCommerceバージョン | パッチを適用したWooCommerceBlocksバージョン |
3.3.6 | 2.5.16 |
3.4.8 | 2.6.2 |
3.5.9 | 2.7.2 |
3.6.6 | 2.8.1 |
3.7.2 | 2.9.1 |
3.8.2 | 3.0.1 |
3.9.4 | 3.1.1 |
4.0.2 | 3.2.1 |
4.1.2 | 3.3.1 |
4.2.3 | 3.4.1 |
4.3.4 | 3.5.1 |
4.4.2 | 3.6.1 |
4.5.3 | 3.7.2 |
4.6.3 | 3.8.1 |
4.7.2 | 3.9.1 |
4.8.1 | 4.0.1 |
4.9.3 | 4.1.1 |
5.0.1 | 4.2.1 |
5.1.1 | 4.3.1 |
5.2.3 | 4.4.3 |
5.3.1 | 4.5.3 |
5.4.2 | 4.6.1 |
5.5.1 | 4.7.1 |
5.5.2 | 4.8.1 |
4.9.2 | |
5.0.1 | |
5.1.1 | |
5.2.1 | |
5.3.2 | |
5.4.1 | |
5.5.1 |
Webサイトが自動更新されなかったのはなぜですか?
いくつかの理由でサイトが自動的に更新されていない可能性があります。最も可能性が高いのは、影響を受ける前のバージョン(WooCommerce 3.3より前)を実行している、サイトで自動更新が明示的に無効になっている、ファイルシステムが読み取り専用、または更新を妨げる可能性のある競合する拡張機能があります。
すべての場合(影響を受けない最初の例を除く)、リリースブランチの最新のパッチが適用されたバージョン(5.5.2、5.4.2、5.3.1など)に手動で更新してみてください。上記の表。
データが漏洩していませんか?
現在入手可能な証拠に基づいて、エクスプロイトは制限されていると考えています。
ストアが影響を受けた場合、公開される情報はそのサイトが保存しているものに固有のものになりますが、注文、顧客、および管理情報が含まれる可能性があります。
ストアが悪用されたかどうかを確認するにはどうすればよいですか?
この脆弱性の性質と、WordPress(したがってWooCommerce)がWebリクエストを処理できる非常に柔軟な方法のため、エクスプロイトを確認する明確な方法はありません。 Webサーバーのアクセスログを確認する(またはWebホストから支援を受ける)ことで、エクスプロイトの試みを検出できる場合があります。 2019年12月の間に見られ、現在は悪用の試みを示している可能性が高い次の形式のリクエスト:
- 正規表現に一致するREQUEST_URI
/\/wp-json\/wc\/store\/products\/collection-data.*%25252.*/
- 正規表現に一致するREQUEST_URI
/.*\/wc\/store\/products\/collection-data.*%25252.*/
/store\/products\/collection-data.*%25252.*/(この式は効率的ではない/ほとんどのロギング環境で実行が遅いことに注意してください) -
/wp-json/wc/store/products/collection-data
または/?rest_route=/wc/store/products/collection-data
への非GET(POSTまたはPUT)リクエスト
この脆弱性の悪用が確認されたリクエストは、次のIPアドレスからのものであり、98%以上がリストの最初からのものです。 アクセスログにこれらのIPアドレスのいずれかが表示されている場合は、脆弱性が悪用されていると想定する必要があります。
-
137.116.119.175
-
162.158.78.41
-
103.233.135.21
どのパスワードを変更する必要がありますか?
パスワードがハッシュされているため、パスワードが危険にさらされている可能性はほとんどありません。
WordPressのユーザーパスワードはソルトを使用してハッシュされます。つまり、結果のハッシュ値を解読するのは非常に困難です。 このソルトハッシュアプローチは、管理者ユーザーとしてのパスワードと、顧客を含むサイト上の他のユーザーのパスワードを保護します。 データベースに保存されているパスワードのハッシュバージョンがこの脆弱性を介してアクセスされた可能性がありますが、ハッシュ値は識別できず、不正使用からパスワードを保護する必要があります。
これは、サイトがユーザーに標準のWordPressパスワード管理を使用していることを前提としています。 サイトにインストールしたプラグインによっては、パスワードやその他の機密情報が安全性の低い方法で保存されている場合があります。
サイトの管理者ユーザーのいずれかが複数のWebサイトで同じパスワードを再利用した可能性がある場合は、他の場所で資格情報が侵害された場合に備えて、それらのパスワードを更新することをお勧めします。
また、WordPress/WooCommerceデータベースに保存されているプライベートデータまたはシークレットデータを変更することをお勧めします。 これには、特定のストア構成に応じて、APIキー、支払いゲートウェイの公開/秘密キーなどが含まれる場合があります。
拡張機能の開発者またはサービスプロバイダーとして、WooCommerceの販売者に警告する必要がありますか?
ライブのWooCommerceストアまたはマーチャントと協力している場合は、彼らと協力してこの問題について知っていることを確認するか、ストアを安全なバージョンに更新することをお勧めします。
拡張機能を構築した場合、またはWooCommerce APIに依存するSaaSサービスを提供している場合は、マーチャントがサービスに接続するためにキーをリセットできるようにすることをお勧めします。
店主として、顧客に警告する必要がありますか?
顧客に警告するかどうかは、最終的にはあなた次第です。 顧客に通知したり、パスワードなどをリセットしたりする義務は、サイトインフラストラクチャ、地理的に位置する場所、サイトが収集しているデータ、サイトが侵害されているかどうかなどの詳細によって異なります。
顧客を保護するために実行できる最も重要なアクションは、WooCommerceのバージョンを、この脆弱性の修正がパッチされたバージョンに更新することです。
更新後、次のことをお勧めします。
- 特に複数のWebサイトで同じパスワードを再利用する場合は、サイトの管理者ユーザーのパスワードを更新する
- サイトで使用されているPaymentGatewayおよびWooCommerceAPIキーをローテーションします。
ストアの所有者は、最終的に、顧客のパスワードをリセットするなどの追加の予防措置を講じるかどうかを決定します。 WordPress(したがってWooCommerce)のユーザーパスワードはソルトを使用してハッシュされます。つまり、結果のハッシュ値を解読するのは非常に困難です。 このソルトハッシュアプローチは、顧客のパスワードを含む、サイト上のすべてのユーザーパスワードに適用されます。
WooCommerceはまだ安全に使用できますか?
はい。
このような事件はまれですが、残念ながら時々起こります。 私たちの意図は、常に即座に対応し、完全な透明性をもって運営することです。
脆弱性を知って以来、チームは24時間体制で修正が行われていることを確認し、ユーザーに通知しました。
プラットフォームセキュリティへの継続的な投資により、問題の大部分を防ぐことができますが、店舗に影響を与える可能性のあるまれなケースでは、迅速に修正し、積極的にコミュニケーションを取り、WooCommerceコミュニティと協力するよう努めています。
それでも質問がある場合はどうなりますか?
この問題に関してさらに懸念や質問がある場合は、HappinessEngineersのチームがサポートチケットを開きます。