WordPress SEOPress Plugin の脆弱性 CVE-2024-5488 が FIX:30万のサイトに RCE 攻撃に可能性

SEOPress Plugin Alert: CVE-2024-5488 Flaw Exposes 300K Sites

2024/06/25 SecurityOnline — 300,000 万以上のアクティブなインストールを誇る WordPress プラグイン SEOPress に、脆弱性 CVE-2024-5488 (CVSS:8.1) が発見された。この脆弱性の悪用に成功した権限のない攻撃者は、認証をバイパスして機密データの操作を達成し、リモート・コード実行の可能性を手にする。


オブジェクト・インジェクションにつながる認証バイパスなど引き起こす、SEOPress の複合的な脆弱性 CVE-2024-5488 の核心は、プラグインの REST API ルートの処理にある。SEO 機能を強化するプラグイン SEOPress は、保護されるべき特定の REST API ルートへの、認証されていないアクセスを誤って許可していた。

この認証の欠陥は、REST API ルートの permission_callback 関数内の、重大な見落としに起因していた。この関数は、WordPress の認証チェックの一部を再実装しようとしたが、WP_User オブジェクトとアプリケーション・パスワードの不適切な処理により失敗していた。具体的に言うと、この関数は提供された WP_User オブジェクトが認証済みであると誤って仮定し、意図したセキュリティ・チェックをバイパスしていた。

このアクセスを悪用する攻撃者は、データのシリアライズ/アンシリアライズを管理する SEOPress の処理方法に関連する、別の脆弱性を悪用できる。その結果として攻撃者は、カスタム・データベース・テーブルに格納されたポスト・メタデータを操作することで、任意のオブジェクトのシリアライズ解除を達成する。つまり、この脆弱性の悪用に成功した攻撃者は、シリアライズされたオブジェクトを細工し、シリアライズ解除時に任意のコードを実行できる。それは、いわゆるオブジェクト・インジェクション攻撃への扉を開くものだ。

この種の脆弱性が悪用されると、攻撃者は複雑な POP (Property Oriented Programming) チェーンの実行を可能にするため、きわめて危険な状況が作り出される。これらのチェーンは、スクリプトの実行中に PHP のマジック・メソッドをトリガーするための、シリアライズされたクラス・インスタンスのシーケンスであり、ターゲットとされたサイト上でのリモート・コード実行につながる可能性を生じる。

この種の脆弱性の影響は、広範囲に及ぶものとなる。この欠陥を悪用する攻撃者は、SEOPress 関連の投稿メタデータを変更し、SEO スパム・キャンペーンなどの破壊的な行為を実行する可能性を手にする。任意の投稿のメタデータに、悪意の POP チェーンを保存してトリガーするという機能は、良識的な操作を装いながら、悪意のコードを実行する可能性を、攻撃者に与えるものとなる。

WPScan のセキュリティ研究者たちは、定期監査中に脆弱性 CVE-2024-5488 を発見し、直ちに SEOPress チームに報告した。すでに SEOPress チームは、この重大な脆弱性に対処するためのバージョン 7.9を をリリースし、認証プロセスとシリアライズされたデータの取り扱いの双方にパッチを適用している。SEOPress を使用している WordPress サイト管理者に強く求められるのは、この最新バージョンにアップデートし、潜在的な悪用からサイトを保護することである。