WordPress の Elementor プラグインの脆弱性が FIX:100 万件の Web サイトに乗っ取りの危険性

WordPress Elementor plugin bug let attackers hijack accounts on 1M sites

2023/05/11 BleepingComputer — WordPress で人気を博している、Essential Addons for Elementor に存在する権限昇格の脆弱性の悪用に成功したリモートの未認証の攻撃者が、サイトの管理者権限を獲得する可能性があることが判明した。Essential Addons for Elementor は、100万以上の WordPress サイトで使用されているページ・ビルダー Elementor 用の、90種類のエクステンションを搭載したライブラリである。2023年5月8日に PatchStack が発見した、この脆弱性 CVE-2023-32243 はプラグインのパスワード・リセット機能における、未認証の攻撃者による権限昇格を可能にするものであり、バージョン 5.4.0〜5.7.1 に影響を及ぼす。


PatchStack の速報には、「この欠陥を悪用することで、ユーザー名さえ分かっている攻撃者であれば、あらゆるユーザーのパスワードをリセットすることが可能だ。その結果として、管理者のパスワードをリセットすることで、対象となるアカウントへログインできる。この脆弱性は、パスワード・リセット機能が、パスワード・リセット・キーを検証せずに、新たに与えられたパスワードで、ダイレクトにパスワード変更してしまうことに起因している」と記されている。

リモート攻撃者は、脆弱性 CVE-2023-32243 を未認証で悪用できるが、対象となるシステムのユーザー名を知っておく必要がある。

この欠陥がもたらす結果は深刻であり、個人情報への不正アクセス/Web サイトの改竄・訪問者へのマルウェア配布などに加えて、信頼の失墜/法令違反などのブランド毀損にいたる恐れがある。

(非) 条件付きパスワード・リセット

PatchStack のレポートによると、攻撃者は POST の “page_id” と “widget_id” の入力にランダム値を設定する必要があり、また、Web サイトの管理者に疑いを抱かせるような、エラー・メッセージを生成しないようにする必要があるという。

また、攻撃者は、パスワード・リセット要求を検証するために、”eael-resetpassword-nonce” に正しい nonce 値を与え、”eael-pass1″ と “eael-pass2” パラメータに、新しいパスワードを設定する必要がある。

PatchStack は、「この時点における問題は、どうやって “essential-addons-elementor nonce” 値を手に入れることが可能かという点だ。この nonce 値は、”load_commnon_asset” 関数により “$this->localize_objects” 変数に設定されるため、WordPress サイトのメイン・フロントエンド・ページに存在することが判明した」と説明している。

“rp_login” パラメータに、有効なユーザー名が設定されている状況を想定すると、以下のコードにより、対象となるユーザーのパスワードは、攻撃者が提供した新しいパスワードに変更され、実質的にアカウントの制御を奪うことになる。

Part of the PHP that triggers the password reset
Part of the PHP that triggers the password reset (PatchStack)

この問題の修正は簡単であり、プラグイン・ベンダーは、リセット要求の中にパスワード・リセット・キーが存在し、そのキーの正当性をチェックする関数を追加するだけでよかったと、PatchStack はコメントしている。

この修正は、5月11日に公開された、Essential Addons for Elementor バージョン5.7.2 としてリリースされた。すべてのプラグイン・ユーザーに対しては、可能な限り早急にアップグレードすることが推奨される。

WordPress で Elementor プラグインを使っている方は、早急にアップデートを行ってください。WordPress ですが、この2ヶ月ほどの間に、以下のような記事がポストされています。合わせて、ご参照ください。

2023/05/05:WP プラグイン Advanced Custom Fields:XSS 脆弱性
2023/04/20:WP プラグイン Eval PHP:スティルス・バックドア
2023/04/10:WP サイト 100万件を侵害:Balada Injector
2023/03/31:WP プラグイン Elementor Pro に深刻な脆弱性
2023/03/24:WooCommerce 決済プラグインの脆弱性:WP 50万サイト