2万以上のサイトにインストールされているWordPressの「WP HTML Mail」プラグインには、コードインジェクションや騙されやすいフィッシングメールの配布につながる、重要度の高い脆弱性があることがわかりました。
2021年12月23日、Wordfence Threat Intelligenceチームは、20,000以上のサイトにインストールされているWordPressプラグイン「WordPress Email Template Designer – WP HTML Mail」に発見した脆弱性の責任ある開示手続きを開始しました。この脆弱性により、認証されていない攻撃者は、サイト管理者がテンプレートエディタにアクセスするたびに実行される悪意のあるJavaScriptを注入することが可能となりました。また、この脆弱性を利用して、メールテンプレートを任意のデータを含むように変更することができ、そのデータを利用して、侵害されたサイトからメールを受け取った人に対してフィッシング攻撃を行うことができました。
「WP HTML Mail」は、カスタムメール、コンタクトフォームの通知、およびオンラインプラットフォームが利用者に送信する一般的にカスタマイズされたメッセージのデザインに使用されるプラグインです。
このプラグインは、WooCommerce、Ninja Forms、BuddyPressなどと互換性があり、このプラグインを使用しているサイトが多くあるため、この欠陥はかなりの数のインターネットユーザーに影響を与えています。
Wordfence社のThreat Intelligenceチームのレポートによると、攻撃者は「CVE-2022-0218」として追跡されている脆弱性を利用して、攻撃者が選択した任意のデータを含むようにメールテンプレートを変更することができるとのことです。
さらに、同じ脆弱性を利用して、侵害されたサイトに登録している人にフィッシングメールを送信することができます。
保護されていないAPIエンドポイント
この問題は、プラグインがメールテンプレートの設定を取得・更新するための2つのREST-APIルートを登録していることにあります。
これらのAPIエンドポイントは不正なアクセスから適切に保護されていないため、認証されていないユーザーでも関数を呼び出して実行できてしまいます。
Wordfenceがレポートの中で詳しく説明しています。
プラグインは、/themesettingsエンドポイントを登録し、リクエストメソッドに応じてsaveThemeSettings関数またはgetThemeSettings関数を呼び出します。
REST-APIエンドポイントはpermission_callback関数を使用していましたが、この関数は__return_trueに設定されており、関数の実行に認証が必要ないことを意味していました。
そのため、どのユーザーもREST-APIエンドポイントを実行して、メールのテーマ設定を保存したり、メールのテーマ設定を取得したりすることができました。
フィッシング攻撃の可能性以外にも、敵対者は悪意のあるJavaScriptをメールテンプレートに注入し、サイト管理者がHTMLメールエディタにアクセスした際に実行させることができます。
これにより、新しい管理者アカウントの追加、サイト訪問者のフィッシングサイトへのリダイレクト、テーマファイルへのバックドアの注入、さらにはサイトの完全な乗っ取りへの道が開かれる可能性があります。
脆弱性の発見と修正
Wordfenceは、2021年12月23日に脆弱性を発見しプラグインの開発者に開示しましたが、回答を得たのは2022年1月10日でした。
また、この脆弱性に対応したセキュリティアップデートは、2022年1月13日にバージョン3.1がリリースされました。
このため、すべてのWordPressサイトの所有者および管理者は、「WP HTML Mail」プラグインの最新バージョンを実行しているかどうかを確認することをお勧めします。
Comments