ネットワークセキュリティ
 Computer >> コンピューター >  >> ネットワーキング >> ネットワークセキュリティ

WooCommerce「放棄カート」プラグインのXSS脆弱性が悪用され、管理画面乗っ取りの危険――今すぐアップデートを

WooCommerce「放棄カート」プラグインが悪用される――今すぐアップデートを

WordPressベースのサイトが、woocommerce-abandoned-cartプラグインに存在するXSS(クロスサイトスクリプティング)脆弱性を悪用するハッカーの攻撃を受けています。攻撃者はバックドアを仕掛け、脆弱なサイトを乗っ取ろうとしています。

woocommerce-abandoned-cartは、WooCommerceサイトのオーナーが買い物を途中で中断したカート(放棄カート)を追跡し、失われた売上の回復につなげるためのプラグインです。

ゲストユーザーの入力値および出力値に対するサニタイズ(無害化処理)が行われていないため、攻撃者は複数のデータフィールドに悪意のあるJavaScriptを注入できます。このコードは、管理者権限を持つログインユーザーが放棄カートの一覧を閲覧した際に実行されます。

現在、woocommerce-abandoned-cartまたはwoocommerce-abandoned-cart-proを使用しているWordPressサイトには、直ちに最新版へアップデートすることが推奨されます。また、Astra WAFを導入しているサイトは、ファイアウォールに組み込まれたXSS対策機能により、この攻撃から保護されています。

Astraを導入していない影響を受けたユーザーは、サイトセキュリティ監査(Site Security Audit)を実施し、WordPressサイトの完全性を確認することをおすすめします。

放棄カートプラグインにおけるXSS脆弱性の詳細

未認証のユーザーが商品をカートに追加してチェックアウト画面に進むと、woocommerce-abandoned-cartのゲスト入力処理が機能します。

save_dataAJAXアクションが、ゲストが入力したデータをプラグイン側へ送信します。これは、何らかの理由でチェックアウトが完了しなかった場合に、ストアオーナーがダッシュボード上で通知を受け取れるようにするための仕組みです。

WooCommerce「放棄カート」プラグインのXSS脆弱性が悪用され、管理画面乗っ取りの危険――今すぐアップデートを

ところが、これらのAJAXリクエスト($_POSTフィールド)を処理する関数では、入力値のサニタイズが一切行われていません。billing_first_name(名)、billing_last_name(姓)、billing_company(会社名)などの購入者データフィールドは、ユーザーから送信されたデータがそのまま保存されます。このデータはデータベースに格納され、管理者がWordPressダッシュボードから参照できます。つまり、顧客情報、個々のカート内容、注文合計額などの情報がダッシュボード上に表示される状態になっています。

WooCommerce「放棄カート」プラグインのXSS脆弱性が悪用され、管理画面乗っ取りの危険――今すぐアップデートを

さらに問題なのは、管理者のブラウザでこのデータを描画する際にも出力サニタイズが行われていない点です。出力テーブルの「Customer(顧客)」欄は、billing_first_namebilling_last_nameをつなぎ合わせた単一のフィールドであるため、この処理フローを悪用するハッカーの格好の標的となっています。

放棄カートプラグインが原因でWordPressの管理パネルが侵害された場合は、チャットウィジェットからご連絡ください。迅速に修復をお手伝いいたします。今すぐWordPressサイトを修正する。

ハッカーがこの脆弱性を悪用する手口

ハッカーは、WordPress WooCommerceベースのストアを攻撃し、不正な形式の名前を持つ商品でカートを埋め尽くす手口を使っています。

カートのいずれかのフィールドに悪用コードを挿入した後、サイトを離脱すると、挿入されたコードがストアのデータベースに保存されます。

この悪用コードは、管理者が放棄カート一覧を確認するために該当のバックエンドページを読み込んだ瞬間に実行されます。

Wordfenceが確認した攻撃では、bit.lyの短縮リンクを使ってJavaScriptファイルを読み込むコードが使用されていました。脆弱なプラグインが有効化されていたサイトでは、このコードが2種類のバックドアを作成しようとしました。

1つ目のバックドアは、ハッカーが作成した新しい管理者アカウントです。ユーザー名は「woouser」で、Mailinatorのメールアドレスが登録されていました。一方、2つ目のバックドアはより巧妙な手法によるものです。サイトにインストールされているすべてのプラグインを一覧表示し、最初に見つかった無効化済みのプラグインを探します。そして、そのプラグインを再有効化する代わりに、メインファイルの中身をハッカーが将来的にさらなるアクセスを行えるようにするスクリプトへと置き換えてしまうのです。

このため、「woouser」アカウントを削除した後でも、無効化されたプラグインのファイルがディスク上に残り、Webリクエストからアクセス可能である限り、攻撃者はこのバックドアに対して悪意のあるコマンドを送信できてしまいます。

影響:

この脆弱性の影響は、サイトをSEOスパムに利用されることから、ハッカーによるカードスキマー(決済情報窃取コード)の設置まで、多岐にわたります。

放棄カートプラグインの悪用への対処法

2019年2月18日にリリースされたAbandoned Cart Lite for WooCommerce バージョン5.2.0では、今回ハッカーが悪用したXSS攻撃ベクトルに対処する修正が施されました。

このWordPressプラグインを使用しているすべてのストアオーナーは、管理パネルの管理者アカウント一覧に不審なエントリーがないか必ず確認するとともに、サイトを常に最新の状態に保つことが強く推奨されます。ハッカーが「woouser」という名前を別のものに変更している可能性も十分にあります。

なお、このパッチだけでは本脆弱性の完全な解決にはならない点に注意が必要です。2つ目のバックドアや、既に注入されていたスクリプトまでは対応していないためです。そのため、woocommerce-abandoned-cartまたはwoocommerce-abandoned-cart-proを使用しているストアオーナーは、データベース内に不正なスクリプト注入がないか確認することが推奨されます。確認すべきテーブル名は環境によって異なる場合がありますが、ゲスト購入者のデータはac_guest_abandoned_cart_historyというテーブルに格納されています。加えて、クリーンアップ作業の一環として、不正な管理者アカウントはすべて削除する必要があります。

放棄カートプラグインが原因でWordPressの管理パネルが侵害された場合は、チャットウィジェットからご連絡ください。迅速に修復をお手伝いいたします。今すぐWordPressサイトを修正する。

  1. WPFormsプラグインに認証済み保存型XSSの脆弱性(CVE-2020-10385)が発見 ― バージョン1.5.9への即時アップデートを

    WordPressの人気フォームプラグイン「WPForms」において、バージョン1.5.8.2以前に認証済みユーザーによる保存型XSS(クロスサイトスクリプティング)の脆弱性が存在することが、プラグイン監査の過程で確認されました。データのサニタイズ(無害化処理)を強化したバージョン1.5.9は、2020年3月5日にリリースされています。 CVE ID: CVE-2020-10385 概要 WPFormsは、300万以上のアクティブインストール数を誇るWordPress向けフォーム作成プラグインです。今回、認証済みユーザーによって悪用可能なクロスサイトスクリプティング(XSS)の脆弱性が発見

  2. スマートシティはデータセキュリティを脅かすのか?知っておきたいサイバーリスクと対策

    都市はますますテクノロジーへの依存を深めています。行政機関は、マシン間通信(M2M)の高度化、インテリジェントなエネルギー管理、予測型の交通管制システム、スマートフォンアプリと連動した駐車システムなどに多額の資金を投入しています。テクノロジー主導のあらゆる要素が相互接続される時代です。しかしこのユートピア的な夢には、見逃せない落とし穴も潜んでいます。 セキュリティブログ「Dark Reading」によると、サイバー犯罪者はすでにユーザーの認証情報の窃取に照準を合わせています。同ブログによれば、2015年に最も多く盗まれたデジタル商品はメールアドレスとパスワードでした。さらに攻撃者はマルウェアの