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

Contact Form 7に任意ファイル設置の脆弱性、修正版あり

WordPressのContact Form 7 6.2から6.2.3に、認証なしで任意のファイルを置かれ、構成次第でサーバー上のコード実行に至る脆弱性があります。該当版のサイトは6.2.4へ更新し、uploads内に不審なファイルがないかも調べてください。

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

急ぎ度: 至急

CVSS v3は9.8で、認証なしにネットワーク越しに悪用でき、修正版6.2.4も出ているため、該当版のサイトは今日のうちに更新したい案件と筆者はみています。

関係があるか

Contact Form 7の6.2から6.2.3を使っているWordPressサイトが対象です。問い合わせや採用応募の窓口に使っている企業サイト、制作会社が構築して運用を任せているサイトも含みます。

製品影響を受ける版修正版
Contact Form 7(WordPressプラグイン) 6.2以上6.2.4未満(6.2から6.2.3) 6.2.4

確かめ方

  1. 1WordPress管理画面のプラグイン一覧で、Contact Form 7の版が6.2から6.2.3になっていないかを確認します。
  2. 2WP-CLIが使える環境では、wp plugin get contact-form-7 --field=version で版を確認できます。
  3. 3Webサーバーの種類と設定を確認します。Debian・Ubuntu標準のApache設定で動いているサイトは、コード実行まで進む構成にあたります。
  4. 4複数サイトを運用している場合や、制作会社に運用を任せている場合は、サイトごとに版とサーバー構成を洗い出します。

何が起きたか

WordPressのフォームプラグインContact Form 7に、サイトへ任意のファイルを置かれてしまう脆弱性があります。構成によっては、置かれたファイルをサーバー上で実行され、遠隔からコードを動かされる事態にもつながります。

フォームのファイル欄から送られたファイルについて、6.2から6.2.3は種類や拡張子を検証していません。加えて、一時ファイルを掃除する処理にも不具合があり、アップロードされたファイルがディスクに残ります。CWEはCWE-434です。

WPScanは2026年11月5日にこの脆弱性を掲載し、報告者としてShinya Murakami氏の名前を挙げています。CVEの記録は11月8日付で、6.2.4で修正されました。

攻撃の流れ

  1. 1

    ファイル送信

    ファイル欄のあるフォームに、第三者が任意のファイルを送ります。

  2. 2

    検証なしで保存

    種類と拡張子が検査されず、掃除の不具合でファイルがディスクに残ります。

  3. 3

    保存先の特定

    ディレクトリ一覧が見える構成だと、残ったファイルの場所が分かります。

  4. 4

    実行または配信

    Apache標準構成では.pharがPHPとして実行され、そのほかの構成では自サイトのオリジンからHTMLやSVGとして配信され得ます。

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

どう悪用されるか

ログインは要りません。ネットワーク越しに、利用者の操作もなく悪用できます。攻撃の複雑さは低いとされています(CVSSのベクターはAV:N/AC:L/PR:N/UI:N)。

DebianまたはUbuntuの標準的なApache設定では、ディレクトリの内容が一覧表示され、.pharがPHPのハンドラーに対応付けられています。この構成だと、保存されたファイルを見つけて実行され、リモートコード実行に至ります。サーバー上で任意の処理を動かされるため、情報の読み出し、改ざん、サービス停止まで起こり得ます。

nginxや、.htaccessによる上書きを有効にしたApacheでは、被害は任意ファイルがuploadsディレクトリに書かれるところまでです。ただし、置かれたHTMLやSVGがサイト自身のオリジンから配信され、能動的なコンテンツとして動作する余地は残ります。

今すぐやること

  1. 1

    Contact Form 7の版を確認する

    管理画面のプラグイン一覧か、WP-CLIで版を調べます。6.2から6.2.3なら次の手順に進みます。

    wp plugin get contact-form-7 --field=version
  2. 2

    6.2.4に更新する

    修正版の6.2.4へ更新し、更新後に問い合わせフォームを実際に送信して、動作と通知メールを確かめます。自動更新を有効にしていても、版が上がったかは自分の目で見ておくと確実です。

  3. 3

    uploads内に不審なファイルがないか調べる

    更新前に置かれたファイルは、更新しても消えません。wp-content/uploads配下で、.phar、.php、HTML、SVGなど、身に覚えのないファイルと作成日時を確認します。見つけたら削除の前に控えを取り、Webサーバーのアクセスログでフォーム送信やそのファイルへのアクセスを追います。実行された形跡があれば、管理者パスワード、データベースの接続情報、各種キーを変更します。

  4. 4

    制作会社や委託先のサイトにも確認する

    運用を任せているサイトは、版とサーバー構成を問い合わせ、更新の実施日を聞き取ります。

すぐ更新できないとき

ベンダーが示した回避策ではなく、悪用の条件を崩すためのつなぎとして、更新までのあいだは次のいずれかを検討してください。
- ファイル欄を使っているフォームを一時的に停止する、またはプラグインを無効化する
- Apacheのディレクトリ一覧表示を無効にする
- uploadsディレクトリでPHPなどの実行を禁止し、.pharをPHPのハンドラーに対応付けている設定を外す
いずれも根本対策ではないため、6.2.4への更新は早めに行ってください。

背景

Contact Form 7は、WordPressで問い合わせフォームを作る定番のプラグインです。企業サイトの問い合わせ、資料請求、採用応募の受付に使われ、ファイル欄を付ければ履歴書や見積依頼書の添付も受け取れます。ファイル欄は、不特定多数からファイルを受け取る入り口になります。ファイルの種類を検証しない不具合は、CWE-434(無制限のファイルアップロード)に分類される典型的な脆弱性です。

今回の特徴は、同じプラグインの不具合でも、サーバーの設定で被害の大きさが変わることです。Debian・Ubuntu標準のApache設定では、ディレクトリ一覧と.pharのPHP実行という、ふだんは気にしない既定値が重なって、コード実行に至ります。サイトの構築を制作会社に任せている組織では、プラグインの版とあわせて、サーバー構成を自社が把握しているかも問われます。

よくある質問

Q.nginxで動かしているサイトなら、更新しなくても問題ありませんか。
A.更新は必要です。nginxでもファイルを任意に置かれる点は変わらず、置かれたHTMLやSVGが自サイトのオリジンから配信される余地があります。コード実行に至るのはDebian・Ubuntu標準のApache構成ですが、nginxなら無害というわけではありません。

まだ分かっていないこと

  • ファイル欄のないフォームだけを使っているサイトが、6.2から6.2.3で影響を受けるかどうかは、記載がありません。

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

影響パッケージ

パッケージ影響を受ける版 → 修正版
CVE の記録Contact Form 7
6.2 以上 6.2.4 未満→ 6.2.4
原文の説明 取得元が公開している説明をそのまま載せています (多くは英語)。

The Contact Form 7 WordPress plugin before 6.2.4 does not validate the type or extension of files uploaded through a form file field, and a flaw in its temporary-file cleanup leaves the uploaded file on disk, allowing unauthenticated users to upload arbitrary files to the site. On a stock Debian or Ubuntu Apache configuration, which lists directory contents and maps .phar to the PHP handler, the stored file can be located and executed, leading to Remote Code Execution. On other configurations, including nginx and Apache with .htaccess overrides enabled, the issue is limited to an arbitrary file written into the uploads directory, which may still be served as active content such as HTML or SVG from the site's own origin.

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

参照URL

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