タグアーカイブ プラグイン更新

プラグイン更新後にログイン不可「ユーザー名またはパスワードが間違っています」と表示される原因と直し方

プラグイン更新後にログイン不可「ユーザー名またはパスワードが間違っています」と表示される原因と直し方

プラグインの更新後、正しいユーザー名とパスワードを入力しているにもかかわらずログインできず「ユーザー名またはパスワードが間違っています」というエラーが表示されるなら、その原因は特定のプラグインが認証フローに干渉したことによる競合だ。特にログインフォームをカスタマイズするプラグインと、追加のセキュリティ認証(Cloudflare Turnstileなど)を組み合わせている場合に発生しやすい。

なぜ正しいパスワードなのに「間違っています」と表示されるのか

なぜ正しいパスワードなのに「間違っています」と表示されるのか

WordPressは通常、ログイン認証を「wp-login.php」を通じて処理している。ここにプラグインが独自のログインフォームを追加したり、認証前にCAPTCHAや追加認証を挟むと、データの送信順序や検証の流れが変わる。プラグインのバージョンアップでこの処理順序が微妙に変わった結果、正しい認証情報がバックエンドの判定に渡る前に「誤り」と判定されるケースが起きる。

典型的なパターンとして、会員制サイト用のプラグイン(Ultimate Memberなど)が生成する独自ログインページと、追加のボット対策機能(Cloudflare TurnstileやreCAPTCHA)が衝突する問題が挙げられる。どちらか一方が先にフォームの値を検証し、もう一方に正しい情報を渡せなくなることが原因だ。

■ エラー発生時の処理の流れ(競合)
ログインフォーム → セキュリティ認証(Turnstile) → WordPress認証
↓
認証トークンの不一致や情報の欠落が発生 → WordPressが「ユーザー名またはパスワードが間違っています」と誤判定する

まず試す緊急回避策 管理画面に入れない場合の対処

まず試す緊急回避策 管理画面に入れない場合の対処

ログインできない状態では管理画面からプラグインを停止できない。次のいずれかの方法でプラグインを一時的に無効化し、管理画面に再アクセスできるようにする。

FTPやファイルマネージャーでプラグインフォルダの名前を変更する

レンタルサーバーのファイルマネージャーやFTPソフトでサイトのファイルにアクセスし、「/wp-content/plugins/」ディレクトリを開く。問題を起こしているプラグインのフォルダ名を一時的に「_(アンダースコア)」を付けるなどして変更する。WordPressは存在しないプラグインディレクトリを無効化するため、余分な認証処理が外れて本来のログインフローが復活する。

具体的な対象は、直近で更新したプラグインか、ログインフォームをカスタマイズしているプラグインだ。Ultimate Memberのような会員制プラグインや、Cloudflare Turnstileを追加しているプラグインが該当する。

wp-config.phpでプラグインを一括無効化する

FTPでWordPressのルートディレクトリにある「wp-config.php」をダウンロードし、次の一行を「/* 編集が必要なのはここまでです ! */」の直前に追加する。

define('DISABLE_PLUGINS', true);

この状態でファイルを上書きアップロードすると、すべてのプラグインが一時的に無効化される。管理画面にログインできたらこの行を削除し、原因のプラグインだけを停止してから他のプラグインを再有効化する。ただし、この定数は非公式の回避策で、すべての環境で動作するとは限らない点に注意する。

原因となったプラグインの特定と恒久対応

原因となったプラグインの特定と恒久対応

管理画面にログインできたら、プラグイン一覧画面で「直近更新されたプラグイン」を順に停止し、問題が再現するか確認する。特に次の組み合わせに心当たりがあれば、真っ先に疑うべきだ。

  • 独自のログインフォームを提供するプラグイン(Ultimate Memberなど)
  • Cloudflare TurnstileやreCAPTCHAなどの認証機能をログイン画面に追加するプラグイン
STEP 1 プラグイン一覧で更新日時を確認し、直近更新されたプラグインを特定する
↓
STEP 2 そのプラグインの追加認証機能(Turnstileなど)を設定画面で一時的に「無効」にする
↓
STEP 3 シークレットウィンドウでログイン画面を開き、正しくログインできるかテストする
↓
STEP 4 問題が解決したら、プラグインを旧バージョンに戻すか、開発元に不具合を報告する

旧バージョンに戻す方法

プラグインの以前のバージョンは、WordPress公式プラグインディレクトリの「以前のバージョン」セクションからダウンロードできる。プラグインページの下部にある「詳細を見る」→「開発」→「以前のバージョン」の順に進むと、過去のすべての安定版がzipで入手可能だ。管理画面のプラグイン新規追加から手動でアップロードし直すか、FTPで「/wp-content/plugins/」に解凍して上書きすれば戻せる。

Cloudflare Turnstileをそのまま使いたい場合の設定見直し

TurnstileのWidget Modeを「Managed」から「Non-interactive」に変更するか、ログインページだけ設定を除外する方法を試すと競合が緩和されることがある。Cloudflareのダッシュボード側で該当サイトの「Security → Bots → Turnstile」から、Fail-open動作(認証失敗時にアクセスを通す)を有効にするのも有効な回避策だ。

根本原因を理解して今後の更新に備える

根本原因を理解して今後の更新に備える

この問題の本質は、WordPressの認証フック(authenticateフィルター)に対して複数のプラグインが非標準的な順序で割り込んだことにある。WordPressのコア認証は、ユーザー名とパスワードが一致したらWP_Userオブジェクトを返す。しかし追加認証を挟むプラグインは、認証が成功しても「null」を返したり、エラーオブジェクト(WP_Error)に差し替えたりする。バージョンアップでこのフィルターの優先度(priority)が変わると、突然認証が通らなくなるというわけだ。

将来的に同様のトラブルを避けるには、本番環境の更新前にステージング環境で動作確認することが最も確実な対策になる。また、会員制プラグインとセキュリティ認証プラグインの両方を使用している場合は、片方のログイン機能をオフにしてWordPress標準のログインページに一本化するのも安定性を高める選択肢だ。

よくある質問

Ultimate Memberのログインフォームだけエラーになるのはなぜか

Ultimate MemberはWordPress標準の認証処理を大きくカスタマイズし、独自の認証フックを追加している。ここにCloudflare Turnstileのような外部検証が割り込むと、UM側で生成したnonce(ワンタイムトークン)やセッション情報が検証前に消費されたり、書き換えられてしまう。UMはバリデーションが1つでも失敗すると「認証情報が間違っている」と一般化して表示する設計のため、実際のパスワードは合っていてもエラーになる。

プラグインを旧バージョンに戻したがサイトが脆弱にならないか

旧バージョンに戻すことは一時的な対処であり、修正が適用された最新版に更新できるまでの猶予と考えるべきだ。緊急回避の間は、WAF(Webアプリケーションファイアウォール)のルールを厳しくする、ログイン試行回数の制限をかける、IP制限を追加するなど、他の手段で防御を補強しておく。該当プラグインのサポートフォーラムで同様の報告がないか確認し、解決パッチを待つか、開発元に直接報告するのが安全な進め方だ。

Cloudflare Turnstileを完全に外す以外の選択肢はあるか

Cloudflare側の設定で「アクション」を「管理モード」から「監視モード」に変更し、認証を可視化せず裏側でリスク評価だけさせる手がある。また、一部のプラグインでは特定のページ(wp-login.phpなど)だけ検証をスキップするフックが用意されている場合がある。プラグインのドキュメントやフックリファレンスに「bypass turnstile on specific page」の情報がないか探してみるとよい。

管理画面にすら入れない場合、データベースから直接プラグインを無効化できるか

可能だ。phpMyAdminなどでWordPressのデータベースにアクセスし、「wp_options」テーブルの「active_plugins」レコードを編集する。このレコードには有効化されているプラグインの一覧がシリアライズされた配列で保存されている。該当プラグインのパスを削除して保存すれば、そのプラグインだけが無効化される。ただしシリアライズされたデータの文字数カウントを修正する必要があるため、FTPでのフォルダ名変更のほうが手軽で安全だ。

この記事のポイント

  • 正しいパスワードでログインエラーになるのは、認証フックに割り込むプラグインの競合が原因
  • FTPで問題のプラグインフォルダをリネームするか、wp-config.phpで全プラグインを一時停止して管理画面に入る
  • Cloudflare TurnstileやreCAPTCHAの設定をオフにするか、旧バージョンへのダウングレードで即座に解決する
  • 恒久対応は、開発元への不具合報告と、ステージング環境での更新前検証の徹底
  • 同種のプラグインを併用する場合は、WordPress標準ログインページへの統一も検討する
Contact Form 7 PayPal Stripe Add-onの脆弱性と最新版への更新手順

Contact Form 7 PayPal Stripe Add-onの脆弱性と最新版への更新手順

Contact Form 7 PayPal & Stripe Add-on のバージョン 2.4.9 以前には、PayPal 決済を本来の支払い金額や通貨と無関係に「支払い完了」として通過させてしまう脆弱性がある。最新版へ更新すれば対処でき、放置すると注文だけが成立して金銭が回収できない重大なリスクを抱えるため、至急確認する必要がある。

Contact Form 7 用 PayPal & Stripe Add-on にどんな脆弱性があるのか

Contact Form 7 用 PayPal & Stripe Add-on にどんな脆弱性があるのか

この脆弱性は CVE-2026-9189 として採番されており、攻撃者が PayPal の正当な通知(IPN)に見せかけたリクエストを送信することで、実際の支払い金額や通貨、受取人の一致をまったく検証せずに「支払い済み」とマークできてしまう。プラグインは PayPal からの通知の署名検証は行っていたものの、肝心の取引金額・通貨コード・受取人メールアドレスの突き合わせを実装していなかったため、ゼロまたは極端に低い金額の注文が成立してしまう。

具体的には、フォーム送信時に生成される注文レコードに対して、PayPal のトランザクション ID と支払いステータスのみが照合され、注文時に設定された金額と実際に PayPal 上で決済された金額の比較が行われない。このため、正規のトランザクション ID を悪用、あるいは偽装した通知に対してプラグインが「正当な支払い」と誤認する状況が生まれていた。

Before(脆弱な状態)

PayPal 通知の受信 → 署名検証のみ実施 → 金額・通貨・受取人の検証なし → 0円でも「支払い完了」

↓
After(修正後)

PayPal 通知の受信 → 署名検証 → 金額・通貨・受取人を注文情報と突合 → 一致時のみ「支払い完了」

■ 脆弱な状態 ■ 修正後の状態

上の図が示す通り、修正後は金額・通貨・受取人の3点を必ず比較するロジックが追加されている。この検証が欠けていたことが、支払いバイパスを成立させる根本原因だった。

どのバージョンが影響を受けるのか

どのバージョンが影響を受けるのか

Contact Form 7 PayPal & Stripe Add-on のバージョン 2.4.9 以下が影響を受ける。2026年6月中旬時点で修正済みのバージョンがリリースされており、2.5.0 以降に更新すればこの脆弱性は解消される。

自分のサイトでどのバージョンを使用しているかは、WordPress 管理画面の「プラグイン」→「インストール済みプラグイン」一覧で確認できる。該当プラグインが有効化されている場合は、バージョン番号を直ちにチェックしておきたい。

最新版へ更新する具体的な手順

最新版へ更新する具体的な手順
STEP 1 管理画面「ダッシュボード」→「更新」を開く
↓
STEP 2 該当プラグインの更新チェックボックスをオンにする
↓
STEP 3 「プラグインを更新」をクリックして完了

更新前にサイト全体のバックアップを取得しておくとなお安心だ。更新が完了したら、プラグイン一覧でバージョンが 2.5.0 以降に切り替わっていることを必ず確認する。

更新がすぐに実行できない場合の対処

更新がすぐに実行できない場合の対処

何らかの理由で即時更新が難しい場合は、一時的に PayPal 決済機能を停止し、フォームそのものを別の決済手段に切り替えるなどの対策が有効だ。とはいえ、あくまで暫定的な措置であり、根本対策は最新版への更新以外にない。

プラグインを無効化すれば脆弱性は発動しなくなるが、フォーム経由の PayPal 決済も一切使えなくなる。その間に代替として WooCommerce の標準決済や別のフォームプラグインへ移行する判断も必要になるだろう。

よくある質問

Stripe 決済にも同じ問題はあるのか

この脆弱性は PayPal の通知処理に起因する問題であり、Stripe 側の処理ロジックには同様の不備は確認されていない。ただし、セキュリティ修正の一環で Stripe 関連のコードにも改善が加えられているため、プラグイン全体を最新に保つのが賢明だ。

すでに不正な取引が行われていないか調べる方法はあるか

PayPal の取引履歴と Contact Form 7 の送信ログを突き合わせ、注文金額と実際の決済金額が一致しているかを手動で検証する必要がある。プラグイン自体に取引監査の機能はないため、自社の売上レポートと PayPal の管理画面を定期的に照合する習慣をつけることを推奨する。

自動更新を有効にしていれば問題は起きなかったのか

自動更新が有効でも、WordPress.org のプラグインディレクトリに修正版が配信されるタイミング次第では数時間から数日のラグが生じる。さらに、サイトの更新設定によってはメジャーアップデートが自動適用されないケースもあるため、手動での確認を怠らないほうが安全だ。

このプラグインを使い続けるリスクは他にもあるか

Contact Form 7 のアドオンは多数の開発者によって提供されており、サポートや更新の頻度はプラグインごとにまちまちだ。決済を扱う以上、常に開発が継続され、すみやかにセキュリティパッチが提供されるプラグインを選ぶことが大前提となる。

この記事のポイント

  • Contact Form 7 PayPal & Stripe Add-on 2.4.9 以前に支払いバイパスの脆弱性がある
  • PayPal 通知の金額・通貨・受取人を検証しないため 0 円でも「支払い完了」になる
  • 修正済みの最新版(2.5.0 以降)に更新すれば問題は解消される
  • 更新前にバックアップを取り、バージョン番号を必ず確認する
  • 決済系プラグインは常に最新を保ち、定期的なログ照合を習慣化する
UpdraftPlusに深刻な脆弱性、300万サイトが認証迂回の危険

UpdraftPlusに深刻な脆弱性、300万サイトが認証迂回の危険

WordPressの人気バックアッププラグイン「UpdraftPlus Backup & Migration」に深刻な脆弱性が発見された。インストール数は300万サイトを超えており、影響範囲は極めて広い。この問題を悪用されると、ログイン情報を持たない攻撃者がサイトの管理者権限を取得し、悪意あるプラグインを設置できる。

脆弱性が確認されたのはバージョン1.26.4以前の全バージョン。開発元はすでに修正版1.26.5をリリースしている。Wordfenceの報告によれば、24時間で8,000件を超える攻撃が観測されており、早急な対応が求められる。

脆弱性の概要と影響範囲

脆弱性の概要と影響範囲

UpdraftPlusはWordPressサイトのバックアップ、復元、移行を一手に担う定番プラグインだ。Google DriveやDropboxなど多数のクラウドストレージへのバックアップに対応し、無料版でも一通りの機能を使える。300万というアクティブインストール数は、WordPressプラグイン全体でもトップクラスに位置する。

これだけの規模で使われているプラグインに認証回避の脆弱性が見つかったことは、WordPressエコシステム全体にとって大きな脅威である。とくに今回の問題は、攻撃者がログインする必要すらない点で深刻度が一段高い。

脆弱性のあるバージョン
UpdraftPlus バージョン 1.24.0 から 1.26.4 まで (危険)
↓
修正済みバージョン
UpdraftPlus バージョン 1.26.5 以上 (安全)

上図のとおり、1.26.4以前はすべてのバージョンが影響を受ける。1.26.5への更新で修正されるため、管理画面から利用可能なアップデートがないかすぐに確認してほしい。

すべてのサイトが攻撃対象になるわけではない

注意すべき点として、UpdraftPlusをインストールしているだけでは攻撃が成立しない。プラグインの変更履歴によれば、攻撃が可能になるのは「アクティブなMigratorキー」または「UpdraftCentralキー」が設定されているサイトに限られる。

Migratorキーは有料版でのみ使われる移行機能で、UpdraftCentralキーは無料版・有料版の両方で利用できるリモート管理機能である。これらのキーを有効化しているサイト運営者は、とくに注意が必要だ。

攻撃成立の条件
UpdraftCentral キー有効 無料版・有料版の両方
Migrator キー有効 有料版のみ
いずれかのキーが有効なサイトが攻撃対象となる

認証バイパスの仕組み

認証バイパスの仕組み

この脆弱性は「認証バイパス(Authentication Bypass)」に分類される。認証バイパスとは、本来必要なはずの本人確認の仕組みをすり抜けてしまう欠陥のことだ。

UpdraftPlusはリモート通信を受け取る際、その命令が正当な管理者から送信されたものかを検証する仕組みを持っている。ところが今回の問題では、この検証プロセス自体を迂回できてしまう。結果として、攻撃者の偽造命令が「正規の管理者命令」として処理されてしまうのだ。

暗号署名の検証が機能しない根本原因

Wordfenceの技術分析によれば、問題の核心は「リモート通信メッセージの検証不備」にある。

通常、プラグインは受信した命令の署名(デジタルな印鑑のようなもの)を検証し、改ざんや偽造がないことを確認する。検証に失敗した場合、システムはその命令を拒否するべきだ。ところがUpdraftPlusのコードには、署名検証に失敗したときにエラーを返して処理を停止するのではなく、暗号鍵として「オールゼロ(すべてのビットが0の鍵)」に陥ってしまう欠陥があった。

これをもっと身近なたとえで説明しよう。たとえば、オフィスの入館ゲートでICカード認証が失敗したとする。本来ならゲートは閉じたままでなければならない。しかし今回の問題は、認証に失敗したときに「鍵が全部0の状態のマスターキー」が自動的に発行されてしまうようなものだ。攻撃者はそれを知っていれば、簡単にゲートを通れてしまう。

脆弱な動作(Before)
署名検証 → 失敗 → 鍵がオールゼロに → 攻撃者の命令が通る
↓
本来あるべき動作(After)
署名検証 → 失敗 → 処理を拒否して終了 → 命令は実行されない

この欠陥により、攻撃者は任意のRPC(リモートプロシージャコール、遠隔操作命令)を偽造し、接続中の管理者として実行できるようになる。

攻撃の実態とリモートコード実行の危険性

攻撃の実態とリモートコード実行の危険性

認証バイパスによって攻撃者が得るのは、単なる閲覧権限ではない。管理者権限での操作が可能になるため、サイトの運命を左右する重大な操作を自由に行える。

もっとも危険なシナリオは、悪意あるWordPressプラグインのアップロードと有効化だ。攻撃者は見た目は普通のプラグインに見せかけたバックドア(裏口)を設置できる。このバックドアが有効化されると、サーバー上で任意のコードが実行可能になり、以下のような被害が現実のものとなる。

  • サイトデータの窃取(顧客情報、メールアドレス、パスワードハッシュなど)
  • マルウェアの注入による訪問者への二次被害
  • サイトの改ざんやフィッシングページの設置
  • 管理者アカウントの不正作成と恒久的な支配
  • 他のサーバーへの攻撃拠点としての悪用

すでに8,000件以上の攻撃を観測

Wordfenceの脅威インテリジェンスチームは、24時間で8,172件の攻撃試行をブロックしたと報告している。これは実際に悪用が試みられている明確な証拠だ。

ブロックされた攻撃の数だけでは、実際に侵入に成功したサイトの数はわからない。しかし攻撃者が積極的にスキャンと攻撃を仕掛けている以上、未対策のサイトはきわめて危険な状態にあると言わざるを得ない。

サイト運営者がいますぐ取るべき対策

サイト運営者がいますぐ取るべき対策

脆弱性への対応はシンプルだ。UpdraftPlusをバージョン1.26.5以降にアップデートすること。これだけで問題は解消される。

STEP 1 WordPress管理画面で「プラグイン」→「インストール済みプラグイン」を開く
↓
STEP 2 UpdraftPlusに更新通知が表示されていれば「今すぐ更新」をクリック
↓
STEP 3 更新後、バージョンが1.26.5以上になっていることを確認
↓
STEP 4 可能であればサイト全体のセキュリティスキャンを実施し、不正なプラグインや管理者アカウントの有無を確認

UpdraftPlusの変更履歴では「すべてのユーザーは直ちに更新すべき」と明記されている。有料版・無料版を問わず、更新の猶予はない。

更新以外に検討すべき安全策

今回の脆弱性は、WordPressサイトの基本的なセキュリティ対策の重要性を改めて示している。以下の対策もあわせて検討してほしい。

  • プラグインの定期的な自動更新を有効にする
  • 使用していないプラグインは削除し、攻撃対象を減らす
  • セキュリティプラグインを導入し、不審な通信を監視する
  • 定期的にバックアップを取得し、復旧手順を確認しておく
  • UpdraftCentralやMigratorキーを現在使っていないなら、無効化を検討する

この記事のポイント

  • UpdraftPlus 1.26.4以前に認証バイパスの脆弱性が存在し、300万以上のサイトが影響を受ける
  • 攻撃者はログイン不要で管理者権限を取得し、悪意あるプラグインの設置が可能
  • 24時間で8,000件以上の攻撃が観測されており、すでに悪用が進行中
  • バージョン1.26.5への即時更新で修正される
  • MigratorキーまたはUpdraftCentralキーを有効化しているサイトはとくに危険