WordPress

600万以上のウェブサイトで使用されているWordPressプラグイン、WPFormsに脆弱性があり、購読者レベルのユーザーが任意のStripe払い戻しを発行したり、購読をキャンセルしたりできる可能性があります。

CVE-2024-11205で追跡されたこの欠陥は、認証が前提条件であるため、深刻度の高い問題に分類されました。しかし、ほとんどのサイトで会員制システムが利用可能であることを考えると、ほとんどの場合、悪用はかなり簡単かもしれません。

この問題は、バージョン1.8.4から1.9.2.1までのWPFormsに影響し、先月リリースされたバージョン1.9.2.2でパッチが適用された。

WPFormsは使いやすいドラッグ&ドロップ式のWordPressフォームビルダーで、お問い合わせ、フィードバック、購読、支払いフォームを作成でき、Stripe、PayPal、Squareなどをサポートしています。

このプラグインにはプレミアム版(WPForms Pro)と無料版(WPForms Lite)がある。後者は600万以上のWordPressサイトで利用されている。

この脆弱性は、リクエストが管理者のAJAX呼び出しであるかどうかを判断するために、関数’wpforms_is_admin_ajax()’を不適切に使用していることに起因する。

この関数は、リクエストが管理者パスから発信されているかどうかをチェックしますが、ユーザーの役割や権限に基づいてアクセスを制限するためのケイパビリティチェックを実施しません。

これにより、Stripeの払い戻しを実行する’ajax_single_payment_refund()’や、購読をキャンセルする’ajax_single_payment_cancel()’などの機密性の高いAJAX関数を、購読者であっても認証されたユーザーであれば誰でも呼び出すことができます。

CVE-2024-11205が悪用された場合、ウェブサイト所有者は深刻な影響を受ける可能性があり、収益の損失、ビジネスの中断、顧客ベースとの信頼関係の問題につながる可能性があります。

修正プログラム

この不具合は、セキュリティ研究者 ‘vullu164’ によって発見され、2024年11月8日にWordfence のバグ報奨金プログラムに報告され、2,376ドルが支払われました。

Wordfenceはその後、報告を検証し、提供されたエクスプロイトを確認し、11月14日に全詳細をベンダーのAwesome Motiveに送信した。

11月18日までに、Awesome Motiveは修正バージョン1.9.2.2をリリースし、影響を受けるAJAX関数に適切な機能チェックと認証メカニズムを追加した。

wordpress.orgの統計によると、WPFormsを使用している全サイトの約半数は最新のリリースブランチ(1.9.x)にも参加していないため、脆弱性のあるウェブサイトの数は少なくとも300万に上る。

WordfenceはまだCVE-2024-11205のアクティブな悪用を検知していないが、できるだけ早くバージョン1.9.2.2にアップグレードするか、サイトからプラグインを無効にすることを推奨する。