【注意喚起】Contact Form 7に脆弱性が発覚!WordPress管理者が今すぐ確認すべきこと

【注意喚起】Contact Form 7に脆弱性が発覚!WordPress管理者が今すぐ確認すべきこと

WordPressで「お問い合わせ」ページを作っている会社の方は、今日中に一度だけ管理画面を確認してください。

2026年10月29日、WordPressの定番お問い合わせフォームプラグイン「Contact Form 7」に脆弱性(セキュリティ上の弱点)が見つかり、修正版が公開されました。

確認にかかる時間は1分ほどです。この記事では、自社が対象かどうかの見分け方から、更新の前後で気をつけたいこと、再発を防ぐための社内ルールまで、順番に整理しました。

  • 対象はContact Form 7のバージョン6.2〜6.2.3です
  • 該当する場合は、バックアップを取ってから6.2.4.1以降に更新しましょう
  • 更新後は、お問い合わせフォームから実際にテスト送信して、メールが届くか確認してください
  • WordやExcelで添付を受け付けている場合は、更新後にファイル名の拡張子が変わるので対応が必要です
目次

Contact Form 7とは?

Contact Form 7は、WordPressにお問い合わせフォームを設置できる無料のプラグイン(追加機能)です。

会社のお問い合わせ窓口はもちろん、資料請求、見積もり依頼、採用応募など、幅広い用途で使われています。WordPress公式サイトでは有効インストール数が「1,000万以上」と表示されている、非常に利用者の多いプラグインです。

出典:WordPress.org「Contact Form 7」2026年 https://wordpress.org/plugins/contact-form-7/

利用者が多いということは、弱点が見つかったときに狙われやすいということでもあります。「うちは小さな会社だから関係ない」とは言い切れないのが、Webセキュリティの難しいところです。

今回見つかった脆弱性は「認証不要の任意ファイルアップロード」

今回の脆弱性は「認証不要の任意ファイルアップロード」と呼ばれるものです。

言葉だけ見ると難しそうですが、意味はシンプルです。

  • 認証不要:Webサイトにログインしていない、外部の誰でも
  • 任意ファイルアップロード:本来は受け付けないはずのファイルを、サーバーに送り込めてしまう

つまり、見知らぬ第三者が、フォームを通じて想定外のファイルをサーバーに置けてしまう可能性があるという問題です。

通常、ファイル添付ができるフォームでは「履歴書はPDFだけ」「写真はJPEGとPNGだけ」というように、受け付けるファイルの種類を制限しています。開発元によると、バージョン6.2〜6.2.3にある複数の欠陥を組み合わせると、このチェックをすり抜けてファイルをアップロードできてしまうとのことです。

さらに、本来は送信直後に削除されるはずのファイルを、サーバー上に残せてしまうことも分かっています。

この問題は、セキュリティ研究者のShinya Murakami氏とJakub Herman氏が発見し、脆弱性情報サービスのWPScanを通じて報告されました。

出典:Contact Form 7公式「Contact Form 7 6.2.4」2026年 https://contactform7.com/ja/2026/10/29/contact-form-7-624/

すべてのサイトがすぐに乗っ取られるわけではない

ここは落ち着いて読んでいただきたいポイントです。

開発元は、理論上攻撃の対象になりうるサイトの条件として、次の2つを挙げています。

  1. フォームにファイル添付の項目がある
  2. サーバーがフォルダの中身を一覧で公開する設定(ディレクトリリスティング)になっている

裏を返すと、この2つがそろっていなければ、今回の手口で狙われる可能性は低いということです。とはいえ、「条件に当てはまらないから更新しなくていい」わけではありません。開発元も、今回の強化はプラグイン全体をより堅牢にするものだとして、すべての利用者に更新を推奨しています。

まず確認:自社のバージョンは対象?

対象となるバージョンは次のとおりです。

使っているバージョン状況やること
6.2〜6.2.3今回の脆弱性の対象6.2.4.1以降に更新する
6.2.4脆弱性は修正済み6.2.4.1以降への更新がおすすめ
6.2.4.1修正済み(2026年11月1日時点の最新版)対応不要。動作確認だけ行う
6.1.x以前今回の脆弱性の対象外ただし注意点あり(後述)

出典:WordPress.org「Contact Form 7」2026年 https://wordpress.org/plugins/contact-form-7/

バージョンの確認方法

STEP
WordPressの管理画面にログインする

STEP
左のメニューから「プラグイン」→「インストール済みプラグイン」を開く
STEP
一覧から「Contact Form 7」を探す

STEP
名前の下に表示されている「バージョン ○.○.○」を確認する

6.1.x以前の方は「更新が届いていない」可能性があります

今回の脆弱性の対象外だからといって、安心するのは少し早いかもしれません。

Contact Form 7は、バージョン6.2から動作に必要な環境が引き上げられ、WordPress 7.1以上・PHP 8.3以上が必要になりました。PHPとは、WordPressを動かしているプログラムの言語で、サーバー側で設定されているものです。

この条件を満たしていないサイトには、WordPressが新しいバージョンを表示しません。自動更新を有効にしていても、更新されないままになります。

出典:WordPress.org「Contact Form 7」2026年 https://wordpress.org/plugins/contact-form-7/

つまり、6.1.x以前のまま止まっているサイトは、今回の脆弱性は対象外でも、今回のセキュリティ強化や今後の修正が届かない状態になっている可能性があります。開発元は6.1.x以前の利用者も含めて更新を推奨しているので、早めに環境を整えておきたいところです。「更新通知が来ないから最新だと思っていた」というケースは珍しくありません。

この場合は、まずサーバーのPHPバージョンを確認し、レンタルサーバー会社や制作会社に相談しながら、環境を整えるところから計画しましょう。いきなりPHPだけを上げると、テーマやほかのプラグインが動かなくなることがあるので、無理に進めるのはトラブルの元です。

WordPress管理者が今すぐ行うべき5つの対策

1. バックアップを取ってから更新する

更新ボタンを押す前に、まずWebサイトのバックアップを取りましょう。

6.2〜6.2.3を使っているサイトは、すでにWordPress 7.1以上・PHP 8.3以上の環境を満たしているため、6.2.4.1への更新で大きなトラブルが起きる可能性は高くありません。それでも、ほかのプラグインとの組み合わせによっては不具合が出ることがあります。

レンタルサーバーの自動バックアップ機能や、バックアップ用プラグインを使えば、万一のときも元の状態に戻せます。「戻せる状態にしてから触る」が、更新作業の鉄則です。

2. ファイル添付ができるフォームがあるか確認する

今回の脆弱性で特に注意が必要なのは、ファイルを添付できるフォームです。たとえば次のようなものです。

  • 採用応募で履歴書や職務経歴書を添付できるフォーム
  • 見積もり依頼で図面や現場写真を送れるフォーム
  • お客様が資料や画像を送れるフォーム

もし「昔作ったけれど、今はもう使っていない添付欄」が残っているなら、この機会に削除を検討しましょう。使っていない機能を減らすことは、それだけで狙われる入り口を減らすことにつながります。

3. フォルダの中身が外から見えないか確認する

開発元が攻撃の条件として挙げている「フォルダの中身の一覧表示」は、ブラウザで簡単にチェックできます。

  1. ブラウザのアドレス欄に「https://(自社のドメイン)/wp-content/uploads/」と入力する
  2. 表示された画面を確認する

ファイルやフォルダの名前がずらっと一覧で表示された場合は、一覧表示が有効になっています。真っ白な画面や「403 Forbidden」などのエラーが表示されれば、一覧表示はされていません。

403 Forbidden

一覧が表示された場合は、レンタルサーバー会社やWebサイトの管理会社に「ディレクトリの一覧表示を無効にしたい」と伝えて相談してください。あわせて、アップロードされたファイルに第三者がアクセスできないか、アップロード用のフォルダでプログラムが実行されない設定になっているかも確認してもらうと安心です。

4. 更新後は、フォームから実際にテスト送信する

更新が終わったら、必ず自分でフォームを送信して確認しましょう。特に次の3点です。

  • フォームが送信でき、通知メールが届くか
  • ファイルを添付したときに、ファイルが正しく届くか
  • ファイルを添付しないまま送信しても、エラーにならないか

3つ目は意外な盲点です。6.2.4の公開直後には、任意のファイル添付欄を空のまま送信すると「このタイプのファイルはアップロードが許可されていません」というエラーが出てしまう不具合が報告されていました。

出典:GitHub「6.2.4: empty file field fails validation with “You are not allowed to upload files of this type.”(Issue #1908)」2026年 https://github.com/rocklobster-in/contact-form-7/issues/1908

お客様は、エラーが出ても連絡してくれません。そのまま別の会社に問い合わせてしまうだけです。だからこそ、自分の手で確かめておくことが大切です。

5. Word・Excelで受け取っているフォームは要注意

今回の更新で、もう一つ見落としやすい変更があります。添付ファイルのファイル名の扱いです。

これまでは「危険な拡張子をはじく」方式でしたが、6.2.4からは「安全と認めた拡張子だけをそのまま通す」方式(セーフリスト方式)に変わりました。リストにない拡張子が付いたファイルは、拡張子の部分が自動的に別の文字に置き換えられます。

標準のセーフリストに入っている主な形式は次のとおりです。

  • 文書:PDF(.pdf)、テキスト(.txt)
  • 画像:JPEG(.jpg/.jpeg)、PNG(.png)、GIF(.gif)、HEIC(.heic)、WebPなど
  • 音声・動画:MP3(.mp3)、MP4(.mp4)、MOV(.mov)など

出典:Contact Form 7公式「Contact Form 7 6.2.4」2026年 https://contactform7.com/ja/2026/10/29/contact-form-7-624/

ここで注意したいのは、Word(.doc/.docx)、Excel(.xls/.xlsx)、PowerPoint(.ppt/.pptx)、ZIP(.zip)がリストに入っていないことです。

たとえば、採用フォームでWord形式の履歴書を受け付けている場合、更新後は届いたファイルの拡張子が変わってしまい、ダブルクリックしても開けないといったことが起こりえます。見積もり依頼でExcelやZIPを受け取っている会社も同じです。

対応の方法は、大きく2つあります。

  • 受け付ける形式をPDFや画像に絞る:フォームの案内文に「PDFでお送りください」と書き、設定もそれに合わせる。いちばん安全でシンプルな方法です
  • 必要な形式だけをセーフリストに追加する:どうしてもWordやExcelで受け取りたい場合は、開発元が用意している設定で追加できます

2つ目の方法は、WordPressのプログラムに手を加える作業です。社内で対応が難しい場合は、制作会社に依頼するのが安心です。

制作会社・技術担当者の方へ

セーフリストは wpcf7_file_extension_safelist フィルターフックで拡張できます。以下は公式発表の例をもとに、.docxと.xlsxを追加する場合の書き方です。追加する拡張子は、業務で本当に必要なものに限定してください。

add_filter( 'wpcf7_file_extension_safelist', function ( $safelist ) {
    return array_merge( $safelist, [ 'docx', 'xlsx' ] );
} );

また、wpcf7_unship_uploaded_file() の第2引数 $options が必須になり、第3引数 $uploaded_files が追加されています。独自コードでこの関数を呼び出している場合は、引数の修正が必要です。

「自動更新にしているから安心」とは限らない

WordPressには、プラグインを自動で更新する機能があります。セキュリティ対策としてはとても有効ですが、設定しておけばすべて解決、というわけではありません。

ここまで見てきたように、

  • 動作環境が条件を満たしていないと、自動更新でも更新されない
  • 更新されても、添付ファイルの扱いなど仕様が変わることがある
  • 更新直後の版に、思わぬ不具合が含まれていることがある

ということが起こりえます。

お問い合わせフォームは、会社にとって「売上の入り口」です。せっかく見込み客が問い合わせてくれても、それが届いていなければ、商談の機会をそのまま失ってしまいます。

遠藤

セキュリティのための更新と、フォームが正しく動いているかの確認は、必ずセットで考えましょう。

中小企業に必要なのは「更新を続けられる管理体制」

今回のニュースをきっかけに、あらためて見直したいのがWebサイトの管理体制です。

中小企業では、社長や総務・営業の担当者が、本業と兼任しながらWordPressを管理していることがよくあります。そうなると、更新通知が届いていても、つい後回しになりがちです。

「更新してサイトが壊れたら困る」という不安から、古いバージョンのまま使い続けてしまうケースもあります。その気持ちはとてもよくわかりますが、Webサイトは公開したら終わりではなく、手入れを続けていく会社の資産です。

難しいセキュリティ対策を一度に入れるより、まずは次のような基本ルールを決めて、続けられる形にすることをおすすめします。

  • 月に1回、WordPress本体・テーマ・プラグインの更新状況を確認する
  • 重大な脆弱性が発表されたときは、月1回の点検を待たずに対応する
  • 更新の前には、必ずバックアップを取る
  • 更新の後には、お問い合わせフォームなど大事な機能をテストする
  • 年に1回は、サーバーのPHPバージョンも確認する
  • 「誰が更新し、誰が確認するか」を社内で決めておく
遠藤

担当者を決めて、チェックリストを1枚作っておくだけでも、対応の遅れはぐっと減らせます。

まずやることは「バージョン確認」と「テスト送信」

今回のContact Form 7の脆弱性について、ポイントをおさらいします。

  • 対象はバージョン6.2〜6.2.3。該当する場合は6.2.4.1以降に更新する
  • 更新前にバックアップ、更新後にテスト送信(添付あり・なしの両方)を行う
  • WordやExcel、ZIPで受け付けているフォームは、ファイル名の拡張子が変わるため対応を決める
  • 6.1.x以前で止まっている場合は、今回の強化や今後の修正が届かない可能性があるため、PHPなどの環境を見直す

Webサイトのセキュリティ対策は、問題が起きてから考えるものではありません。日頃から更新状況を確認し、安心して運用できる状態を保っておくことが、会社の信用とお客様との接点を守ることにつながります。

本記事は2026年11月1日時点の公開情報をもとに作成しています。実際の更新作業の前には、開発元の最新情報とご利用環境をあわせてご確認ください。また、本記事の内容は一般的な対応の考え方です。実際に必要な作業は、サーバー環境、テーマや併用しているプラグイン、社内の運用体制などによって変わります。

【注意喚起】Contact Form 7に脆弱性が発覚!WordPress管理者が今すぐ確認すべきこと

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次