本文へ移動
English version →
重大 9.8 急ぎ度: 至急

All In One Loginの乗っ取り脆弱性、2.5.0で修正

WordPressプラグインAll In One Loginに、ログインなしで管理者を含む任意のアカウントを乗っ取られる脆弱性があります。2.4.0以降の版を使うサイトは、2.5.0への更新を急いでください。

CVE-2026-19256 公開 更新 執筆・監修: 佐々木 航 人が監修しながらAIを活用して執筆
画像は生成 AI で作成したイメージです

急ぎ度: 至急

CVSS v3は9.8で、認証なしに管理者を含む任意のアカウントを奪えるうえ、問題の機能が既定で有効ですが、修正版2.5.0はすでに出ています。

関係があるか

WordPressでAll In One Loginを入れているサイトが対象です。メールで届く数字コードによるパスワードレスログインは既定で有効なので、設定を変えていなければ該当する可能性があります。

製品影響を受ける版修正版
All In One Login(WordPressプラグイン、スラッグはchange-wp-admin-login) 2.4.0以上2.5.0未満 2.5.0

確かめ方

  1. 1WordPressの管理画面でプラグイン一覧を開き、All In One Loginの版を確認します。2.4.0以上2.5.0未満なら該当します。
  2. 2複数のサイトを運用している場合は、すべてのサイトで同じ確認をします。ステージング環境や、あまり触っていない古いサイトも忘れずに見ます。
  3. 3メールによるパスワードレスログインを無効にする設定を入れていたか、運用担当者に聞いておきます。既定のままなら有効とみて対応します。

何が起きたか

All In One Loginのメールログインは、パスワードの代わりに、メールで届く短い数字コードを入力してログインする機能です。このコードを当てる試行の回数に十分な制限がなく、ログインしていない第三者が管理者を含む任意のアカウントを乗っ取れます。

このプラグインにはブルートフォース攻撃への対策機能がありますが、コードの入力に失敗した回数はその機能に渡されていませんでした。ログインを守るための仕組みが、この入口だけ働いていなかったことになります。分類はCWE-269です。

修正版は2.5.0です。公表からまだ1日で、認証が要らず、管理者まで届き、しかも既定で有効という条件がそろっています。筆者は、公開直後から対象サイトの探索が始まっても不思議はないと見ています。

攻撃の流れ

  1. 1

    ログイン画面に到達

    ログインしていない第三者が、メールによるログインの画面に届く状態になっています。

  2. 2

    数字コードを何度も試す

    短い数字コードの試行に回数の制限がなく、失敗がプラグインの対策機能にも数えられません。

  3. 3

    コードが一致する

    コードが当たると、狙われたアカウントとしてログインが成立します。

  4. 4

    管理者として操作

    管理者のアカウントを奪われると、サイトの設定や内容を管理者権限で操作されます。

公開されている情報をもとにした流れの例です。

どう悪用されるか

攻撃にアカウントは要らず、ネットワーク越しに実行でき、被害者側の操作も要りません。CVSSの評価でも、攻撃の難しさは低いとされています。

悪用されると、管理者を含む任意のアカウントを乗っ取られます。機密性・完全性・可用性のいずれも影響が大きいと評価されており、管理者を奪われた場合は、サイトの内容や設定を自由に変えられる前提で被害を考える必要があります。

今すぐやること

  1. 1

    プラグインの版を確認する

    管理画面またはWP-CLIで、All In One Loginの版と有効かどうかを全サイトで洗い出します。

    wp plugin list --fields=name,status,version
  2. 2

    修正版に更新する

    該当する版は、修正版に更新します。本番へ入れる前に、ログイン動作をテスト環境で確認しておくと、更新後のトラブルを避けられます。

  3. 3

    侵害の跡を調べる

    覚えのない管理者アカウントがないか、直近のログイン履歴に不審な点がないかを確認します。メールの認証コードが短時間に大量に送られていないか、メールサーバーやWebサーバーのログも見ます。調べる期間は、該当する版を入れていた期間全体です。

    wp user list --role=administrator
  4. 4

    疑わしいアカウントの認証情報を入れ替える

    不審なログインの形跡があれば、該当アカウントのパスワードを変更し、ログイン中のセッションを破棄します。覚えのない管理者アカウントは削除する前に、いつ作られたかを記録しておきます。

  5. 5

    作者の告知で設定を確認する

    メールログインを個別に無効にする設定や、更新後に必要な追加の作業があるかは、プラグイン作者の告知とWPScanの記事で確認します。

すぐ更新できないとき

すぐに更新できないときは、All In One Loginを一時的に無効化するのが確実なつなぎです。ただし、このプラグインが提供するログイン関連の機能も止まります。ほかの管理者がログインできる状態を確認してから行ってください。

背景

All In One Loginは、WordPressのログインまわりに手を入れるプラグインです。今回問題になったのは、パスワードの代わりにメールで届く短い数字コードを使うログインです。パスワードを覚えなくてよい反面、数字コードは桁数が限られるため、入力の試行回数を制限することが安全の前提になります。

今回は、プラグインにブルートフォース対策の機能があったのに、コードの失敗がそこへ渡っていませんでした。ログインを守るための機能を入れたサイトほど、その機能を信用して見落としやすい構造です。

よくある質問

Q.2.4.0より前の版は影響を受けませんか。
A.一次情報では、影響する版は2.4.0以上2.5.0未満とされています。それより前の版は対象外ですが、古い版を使い続けることになるので、更新して最新の状態にしておくほうが安全です。

この記事は、取得元の公開情報をもとに、人が監修しながらAIを活用して執筆しています。執筆と監修は佐々木 航が担い、公開したあとも人が内容を確認しています。誤りに気づいたときは直し、記事の末尾に訂正の行を残します。対応を決める前に、下の原文と参照先も確認してください。

影響パッケージ

種類パッケージ影響を受ける版修正版
CVE All In One Login
2.4.0 以上 2.5.0 未満
2.5.0
原文の説明 取得元が公開している説明をそのまま載せています (多くは英語)。

The All In One Login WordPress plugin before 2.5.0 does not adequately restrict the number of attempts that can be made against the short numeric code used by its default-enabled passwordless email login, and does not feed those failed attempts into its own brute-force protection, allowing unauthenticated attackers to take over any account including administrators.

出典: CVE.org (CVE Program・cvelistV5) NVD GitHub Advisory

参照URL

当サイトでは、アクセス解析と広告の効果測定のために Cookie を使います。株式会社Game のサイト共通の設定です。 詳しく