WordPressプラグイン「All-in-One WP Migration and Backup」に存在する深刻度の高い脆弱性により、認証を受けていない攻撃者が格納型SQLインジェクションの欠陥を悪用し、リモートコード実行およびサイトの完全な侵害に至る可能性があることが分かりました。
CVE-2026-19949として追跡されているこの問題は、バージョン7.109以前のプラグインに影響し、対象プラグインは500万以上のWordPressサイトに導入されています。
開発元のServMaskは、2026年8月20日にリリースされたバージョン7.110でこの脆弱性に対処しました。CVSSスコアは8.8で、Wordfence Bug Bounty Programを通じてセキュリティ研究者のJack Taylor氏が発見しました。
この欠陥は、認証不要の二次的SQLインジェクション脆弱性に分類されます。直接的なSQLインジェクション攻撃とは異なり、悪意のある入力は即座には実行されません。
その代わりに、攻撃者はまず細工したペイロードを脆弱なアプリケーションコンポーネント内に格納します。ペイロードはそこで休眠状態のまま留まり、後の操作によって安全でない形で処理されるのを待ちます。
今回のケースでは、脅威アクターはWordPressのトラックバック機能を利用し、ピングを許可している公開投稿に悪意のある値を送信できます。攻撃者が制御するブログ名とURLは、WordPressのコメントデータベーステーブルに保存されます。
このインジェクションは、サイト管理者がAll-in-One WP Migration and Backupプラグインを使ってアーカイブをエクスポートし、その後リストアした時点で初めて有効化されます。
このプラグインは、ファイルとデータベースデータを独自形式の.wpressアーカイブにまとめてパッケージ化します。リストア処理の際には、SQL文を実行する前にその中のURLとデータベースのテーブルプレフィックスを書き換えます。
István Márton氏の発見によれば、引用符で囲まれたSQL値を処理するプラグインの正規表現には、終了引用符の直前にあるバックスラッシュの解釈を誤るという問題があります。
この攻撃の要となるのは、仕込まれたトラックバックデータの末尾に付加されたバックスラッシュです。WordPress自体は送信された入力を正しく保存・エスケープ処理しますが、プラグインのリストアロジックはアーカイブ内のURLを置換する際に、SQL文字列を過剰に取り込んでしまう可能性があります。
処理が再開されると、プラグインはai1wm_secret_keyの値をリストアします。すると、2つ目の悪意のある行がオプションテーブルからそのシークレットを読み取り、承認済みの公開コメントに書き込むことができてしまいます。
この漏えいしたキーは、その後サイトの公開コメントREST APIエンドポイントを通じて取得可能となり、攻撃者はプラグインのインポート操作保護を回避できるようになります。
ai1wm_secret_keyを手に入れた攻撃者は、プラグインの認証不要のインポート機能を呼び出し、悪意のある.wpressアーカイブを提供できます。
これにより、Webサーバーアカウントの権限でリモートコード実行が可能になります。攻撃者はその後、Webシェルを展開したり、サイトのコンテンツを改ざんしたり、データベースの認証情報を盗んだり、管理者アカウントを作成したり、侵害したサーバーをさらなる攻撃に利用したりする可能性があります。
この攻撃チェーンが成立するには、悪意のあるトラックバックが仕込まれた後に、管理者がエクスポートとインポートのサイクルを実行する必要があります。
しかし、バックアップのリストアはごく日常的な管理操作であるため、WordPressの移行や復旧を定期的に行っている組織にとって、この問題は特に重大な意味を持ちます。
All-in-One WP Migration and Backupを利用しているWordPress管理者は、直ちにバージョン7.110以降へアップデートすべきです。
Wordfenceは、Premium・Care・Responseの各顧客向けに8月16日にファイアウォール保護を展開済みで、無料ユーザー向けには9月15日にルールが提供される予定です。開発元は8月17日に報告を確認し、その3日後にパッチをリリースしました。
不審な活動の調査を迅速化し、事業への影響が拡大する前に脅威を封じ込めるための可視性とコンテキストを、セキュリティチームに提供しましょう。ANY.RUNで調査を強化する
翻訳元: https://cyberpress.org/wordpress-plugin-flaw-2/