この記事でわかること
- Contact Form 7の脆弱性の対象バージョンと、攻撃が成り立つ条件
- 6.2.4で変わったファイル名の扱いと、更新後に確かめたいこと
- 自分のサイトのバージョンを確認して更新する方法
Contact Form 7の6.2~6.2.3に脆弱性、6.2.4で修正
WordPressの問い合わせフォーム用プラグイン「Contact Form 7」の開発元は2026年10月29日、セキュリティ修正を含むバージョン6.2.4を公開しました。脆弱性があるのは6.2~6.2.3。ログインしていない第三者が、本来は拒否されるはずのファイルをサーバーにアップロードできてしまう問題です。
開発元は、6.2.4のセキュリティ強化はすべてのバージョンに関わるとして、6.2系以外の利用者にも6.2.4への更新を勧めています。WordPress公式のプラグインディレクトリで配布中の最新版は6.2.4.1。こちらはPatchstackによると今回とは別の不具合を直した版で、6.2.4の修正も含まれています。
Contact Form 7は、公式ディレクトリ上で有効インストール数1000万以上とされるプラグインです。ブログや会社のサイトで「お問い合わせ」ページに使っているなら、まずバージョンを見ておきたいところです。
狙われうるのは「ファイル添付欄」と「ディレクトリ一覧」がそろったサイト
開発元の説明では、6.2~6.2.3にある複数の欠陥を組み合わせると、検証で弾かれるはずのファイルをアップロードでき、送信後すぐに削除されるはずのファイルもサーバーに残せてしまいます。
対象になりうるのは、ファイルのアップロード欄があるフォームを置いていて、しかもサーバーがフォルダの中身を一覧表示する設定(ディレクトリ一覧の公開)になっているサイト。開発元は、理論上こうした条件のフォームはすべて標的になりうるとしています。名前や本文を入力するだけの添付欄のないフォームは、この条件から外れます。
セキュリティ企業のPatchstackは、アップロードされたファイルの置き場所がランダムな名前のフォルダで、外からはわからないことを、攻撃を難しくしている要素に挙げています。ディレクトリ一覧が公開されていると、そのフォルダが見えてしまうおそれがある。条件にこの設定が入っているのは、この点に関係しています。
Patchstackはこの脆弱性のCVSSスコア(深刻度の目安)を8.1と評価しています。開発元の発表には、実際に悪用されたという記載はありません。
6.2.4ではファイル名の拡張子の扱いが変わる
6.2.4では、修正にあわせてファイル名の扱いも変わりました。実行可能なスクリプトとして扱われうるファイル名を安全な形に直す処理が、危険な拡張子を並べた「禁止リスト」方式から、問題のない拡張子だけを並べた「許可リスト」方式に切り替わっています。許可リストにない拡張子のファイルがアップロードされると、拡張子の部分が安全な別のものへ自動で置き換えられる仕組みです。
開発元も、一部の使い方に影響しうる変更だとしています。添付欄であまり一般的でない形式のファイルを受け付けているサイトは、更新後にテスト送信して、届いたファイルの拡張子が意図どおりか確かめてください。
バージョンの確認と更新方法
バージョンは、WordPressの管理画面で「プラグイン」→「インストール済みプラグイン」を開くと、Contact Form 7の欄に表示されます。6.2~6.2.3なら今回の脆弱性の対象です。更新は同じ画面の「今すぐ更新」から行えます。
注意したいのは動作環境。6.2系はPHP 8.3以上とWordPress 7.1以上が必要です。6.1系以前を使っている場合、今回の脆弱性の対象ではありませんが、開発元が勧める6.2.4へ上げるにはこの条件を満たす必要があります。サーバーのPHPが古いと管理画面から更新できないことがあるので、その場合はレンタルサーバーの管理画面でPHPのバージョンを確認し、必要ならサーバー会社やサイトの制作者に相談してください。
今回の内容は、開発元のContact Form 7 6.2.4のリリース告知で確認できます。
