WordPress

セキュリティ研究者は、何百万ものインストールがある「Advanced Custom Fields」および「Advanced Custom Fields Pro」WordPress プラグインが、クロスサイト スクリプティング攻撃 (XSS) に対して脆弱であると警告しています。

この 2 つのプラグインは、WordPress で最も人気のあるカスタム フィールド ビルダーの 1 つであり、世界中のサイトで2,000,000 のアクティブなインストールが行われています。

Patchstack の研究者Rafie Muhammad は、2023 年 5 月 2 日に、CVE-2023-30777 という ID が割り当てられた重大度の高い Reflected XSS の脆弱性を発見しました。

一般に、XSS バグにより、攻撃者は、他のユーザーが閲覧した Web サイトに悪意のあるスクリプトを挿入し、訪問者の Web ブラウザーでコードを実行することができます。

Patchstack は、XSS の欠陥により、認証されていない攻撃者が機密情報を盗み、影響を受ける WordPress サイトで権限をエスカレートできる可能性があると述べています。

「この脆弱性は、Advanced Custom Fields プラグインのデフォルトのインストールまたは構成でトリガーされる可能性があることに注意してください」 とパッチスタックは速報で説明しています

「XSS は、Advanced Custom Fields プラグインへのアクセス権を持つログイン ユーザーからのみトリガーすることもできました。」

これは、認証されていない攻撃者が、プラグインへのアクセス権を持つ誰かをソーシャル エンジニアリングして悪意のある URL にアクセスさせ、脆弱性をトリガーする必要があることを意味します。

プラグインの開発者は、Patchstack の発見時に問題を通知され、2023 年 5 月 4 日にバージョン 6.1.6 のセキュリティ アップデートをリリースしました。

XSS の欠陥

CVE-2023-30777 の欠陥は、「admin_body_class」関数ハンドラーに起因します。このハンドラーは、WordPress の管理領域にある本体タグの CSS クラス (デザインとレイアウト) を制御およびフィルター処理するフックの出力値を適切にサニタイズできませんでした。サイト。

「admin_body_class」機能コード
「admin_body_class」関数(パッチスタック)

攻撃者は、プラグインのコード、特に ‘$this→view’ 変数で安全でない直接コード連結を利用して、コンポーネントに有害なコード (DOM XSS ペイロード) を追加し、最終製品であるクラス文字列に渡すことができます。

プラグインで使用されるクリーニング機能「sanitize_text_field」は、悪意のあるコード インジェクションをキャッチできないため、攻撃を阻止しません。

「current_screen」関数を介して「this->view」変数にアクセスする
「current_screen」関数を介して「this->view」変数にアクセスする(Patchstack)

開発者は、admin_body_class フックの出力値を適切にサニタイズして XSS を防止する「 esc_attr 」という名前の新しい関数を実装することで、バージョン 6.1.6 の欠陥を修正しました。

「Advanced Custom Fields」および「Advanced Custom Fields Pro」のすべてのユーザーは、できるだけ早くバージョン 6.1.6 以降にアップグレードすることをお勧めします。

WordPress.org のダウンロード統計に基づくと、プラグインのユーザーの 72.1% がまだ 6.1 より前のバージョンを使用しており、XSS やその他の既知の欠陥に対して脆弱です。