Paytiumに重大な脆弱性、5.0.5以前が対象
WordPress用の決済プラグイン Paytium の 5.0.5 までの版に、外部から認証なしで悪用できる可能性のある重大な脆弱性(PHP オブジェクトインジェクション)が見つかりました。Paytium を使っている WordPress サイトの運営者が対象です。まず導入の有無と版を確認し、修正版の案内を確かめて更新するか、更新できるまでプラグインを無効にしてください。
急ぎ度: 早めに
認証なしでネットワーク越しに悪用できる想定でCVSSは9.8ですが、実際の攻撃での悪用が確認されたという公表は現時点でなく、修正版の情報も確認が必要なためです。
関係があるか
Paytiumプラグインを入れたWordPressサイトを運営している組織が対象です。決済や寄付の受付ページを公開している場合は、インターネットから直接アクセスされるため特に注意が必要です。
| 製品 | 影響を受ける版 | 直った版 |
|---|---|---|
| Paytium(WordPress プラグイン) | 5.0.5以前のすべての版 | 公表されていません。Patchstackの情報ページとプラグイン配布ページで最新版を確認してください |
確かめ方
- 1WordPressの管理画面で「プラグイン」→「インストール済みプラグイン」を開き、Paytiumがあるか、版が5.0.5以下かを確認します。
- 2停止中(無効)のプラグインでも、ファイルが残っている間は管理が必要です。不要なら削除を検討してください。
- 3サーバーに入れる場合はWP-CLIで版を確かめられます。複数サイトを預かっている場合は、すべてのサイトで確認してください。
- 4制作会社や保守業者に任せているサイトは、Paytiumを使っているかを問い合わせてください。
何が起きたか
WordPress用の決済プラグインPaytiumに、信頼できない外部からの入力をそのままプログラムの内部オブジェクトに戻してしまう弱点が見つかりました。細工された入力を送られると、サイト側が意図しないオブジェクトを作らされる恐れがあります。弱点の種類は「信頼できないデータのデシリアライゼーション」(CWE-502)で、PHPでは「オブジェクトインジェクション」と呼ばれます。
影響を受けるのは5.0.5までの版です。CVSS v3.1の評価は9.8(緊急)で、ネットワーク経由、特別な条件なし、認証なし、利用者の操作なしで、機密性・完全性・可用性のすべてに大きな影響が出る想定です。
PHPのオブジェクトインジェクションは、それ単体ではなく、同じサイトに入っている他のプラグインやテーマの部品と組み合わさったときに被害が決まる性質があります。そのため、実際にどこまで被害が及ぶかはサイトの構成によって変わります。ただし、評価上は情報の漏えいや改ざん、サイトの停止、任意のコード実行まで想定されているため、構成が分からない場合は影響が大きいものとして扱うのが安全です。
攻撃の流れ
-
1
入口に到達
インターネットからPaytiumを入れたサイトにアクセスできる状態です。
-
2
細工した入力
認証なしで、不正な形式のデータをプラグインに渡します。
-
3
検証なしで復元
プラグインが入力の安全性を確かめないまま、内部のオブジェクトに戻します。
-
4
意図しない動作
サイトに入っている他の部品の動きと組み合わさり、想定外の処理が実行されます。
-
5
被害の発生
構成によっては、情報漏えい、改ざん、サイト停止、コード実行につながります。
どう悪用されるか
悪用に必要な前提は少ないと評価されています。ネットワーク越しに攻撃でき、攻撃の複雑さは低く、ログインなどの認証も利用者の操作も要りません。Paytiumが入ったサイトが公開されていれば、外部の誰でも攻撃対象にできる想定です。
悪用された場合は、サイトの構成しだいで、顧客情報や注文情報の閲覧、サイト内容の書き換え、サーバー上での不正な処理の実行などが起こりえます。決済を扱うサイトでは、利用者への影響や信用面の損失も大きくなります。なお、実際に攻撃が行われたという情報は公表されていません。
今すぐやること
-
1
Paytiumの導入有無と版を確認する
管理画面またはWP-CLIで、Paytiumが入っているか、版が5.0.5以下かを確認します。複数サイトがある場合は一覧で洗い出してください。
wp plugin get paytium --fields=name,status,version -
2
修正版の有無を確かめて更新する
修正版の版番号は公表されていません。WordPress管理画面の更新通知、プラグイン配布ページ、Patchstackの情報ページで修正版が出ているかを確認し、出ていれば本番に当てる前にステージングで動作を確かめて更新します。
-
3
更新できない間はプラグインを無効化する
修正版がない、または今すぐ当てられない場合は、Paytiumを無効にして公開サイトから外す対応を検討します。決済の受付が止まるため、代替の受付方法や告知を先に決めておきます。
-
4
不審な兆候がないか点検する
WebサーバーのアクセスログにPaytium関連のページへの不審なリクエストがないか、見覚えのない管理者ユーザーや更新されたファイルがないかを確認します。異常があれば、パスワードや認証情報の入れ替えとバックアップからの復旧を検討してください。
-
5
不要なプラグインを整理する
使っていないPaytiumや他のプラグインが残っていれば削除します。攻撃に使われうる部品を減らせます。
すぐ更新できないとき
修正版を当てられない場合は、Paytiumを無効化または削除するのが確実です。どうしても稼働を続ける場合は、WAFで不審なリクエストを遮断する、決済ページへのアクセス元を制限するといった対策で入口を狭められますが、完全な防御にはなりません。定期バックアップを取り、異常を早く見つけられる状態にしておいてください。
背景
Paytiumのような決済系のWordPressプラグインは、社内ではお客様の入金や寄付の受付を担う窓口にあたります。常にインターネットに公開され、顧客情報や取引の流れにも近いため、弱点が見つかったときの影響が大きくなりがちです。WordPressは本体よりもプラグインやテーマの弱点が侵入口になるケースが多く、導入しているプラグインの棚卸しと更新管理が運用上の基本になります。
デシリアライゼーションの弱点は、PHPをはじめ多くの言語で繰り返し問題になってきた種類です。外部から受け取ったデータを、内部で使うオブジェクトに戻す処理に検証がないと、入力した側が処理の流れを左右できてしまいます。対策の基本は、信頼できない入力をこの方法で復元しないこと、復元できる型を限定すること、あるいはJSONなど単純な形式を使うことです。
よくある質問
Q.Paytiumを使っていなければ対応は不要ですか。
Q.実際に攻撃は起きていますか。
Q.プラグインを無効にするだけで安全になりますか。
まだ分かっていないこと
- 修正版の版番号と公開時期は公表されていません。
- どの機能・画面が攻撃の入口になるかなど、技術的な詳細は公表されていません。
- 実際の攻撃での悪用が確認されているかは、現時点で明らかになっていません。
この記事は、取得元の公開情報をもとに生成 AI で作成しています。誤りを含むことがあります。対応を決める前に、下の原文と参照先を確認してください。
影響パッケージ
| 種類 | パッケージ | 影響を受ける版 | 直った版 |
|---|---|---|---|
| paytiumsupport | Paytium |
5.0.5 以前 |
— |
原文の説明 取得元が公開している説明をそのまま載せています (多くは英語)。
Deserialization of Untrusted Data vulnerability in paytiumsupport Paytium paytium allows Object Injection.This issue affects Paytium: from n/a through 5.0.5.
出典: CVE.org (CVE Program・cvelistV5) NVD GitHub Advisory
参照URL
- web audit@patchstack.com
- web nvd.nist.gov
- web github.com