Contact Form 7に脆弱性、6.2.4で修正 すぐの更新を推奨

Contact Form 7 6.2.4のセキュリティ修正が発表されたニュースのアイキャッチ

WordPressのお問い合わせフォームプラグイン「Contact Form 7」の作者・三好隆之氏は2026年10月29日(日本時間19時22分ごろ)、セキュリティ修正を含むContact Form 7 6.2.4を公開した。6.2〜6.2.3に、ログインしていない第三者が本来ははじかれるファイルをアップロードできてしまう脆弱性があった。三好氏はXでも「This is a security fix. Update ASAP.(セキュリティ修正です。至急更新を)」と呼びかけている。

目次

要点(3行)

  • Contact Form 7 6.2.4は、複数のセキュリティ修正と強化を含むリリース(公式、2026年10月29日)
  • 脆弱性は6.2〜6.2.3にある、認証なしの任意ファイルアップロード。ファイルアップロード項目のあるフォームが対象になりうる
  • 強化策は全バージョンに関わるため、公式はすべての利用者に6.2.4への更新を推奨。WordPress.orgでは同日夜に6.2.4.1も配布されている

何が発表されたか

一次情報は、Contact Form 7公式サイトのリリース記事「Contact Form 7 6.2.4」(Takayuki Miyoshi、2026年10月29日)だ。6.2.4は「いくつかのセキュリティ修正と強化を含むマイナーアップデート」と説明されている。脆弱性が見つかったのは6.2〜6.2.3だけだが、セキュリティ強化はすべてのバージョンに関わるため、全利用者に6.2.4への更新を勧めている。

Contact Form 7公式サイトのリリース記事「Contact Form 7 6.2.4」。6.2から6.2.3に認証なしの任意ファイルアップロードの問題があり、全利用者に6.2.4への更新を勧めると書かれている
公式リリース記事の冒頭と「Outline of the issue」。出典:Contact Form 7「Contact Form 7 6.2.4」(2026年10月29日)

Contact Form 7は、WordPress.orgのプラグインページで1,000万以上の有効インストールがあると表示されている、国内でも利用の多いフォームプラグインだ。脆弱性のある6.2系は、2026年10月6日公開の6.2から始まっている。6.2系はWordPress 7.1以上・PHP 8.3以上が必要だ(公式)。

脆弱性の中身

公式によると、問題は認証なしの任意ファイルアップロードだ。攻撃者は6.2〜6.2.3にある複数の欠陥を組み合わせることで、本来は検証ではじかれるはずのファイルをアップロードし、送信後すぐに消されるはずのファイルを残しておける。

公式は、理論上は「ファイルアップロード項目があるすべてのフォーム」で、かつ「ディレクトリの中身を一覧表示する設定のHTTPサーバー」に置かれているものが標的になりうる、としている。発見者はShinya Murakami氏とJakub Herman氏で、WPScan経由で報告された。

影響を受けるサイト

  • Contact Form 7 6.2〜6.2.3を使っているサイト(脆弱性の対象)
  • なかでも、フォームにファイルアップロード項目([file]タグ)を置いていて、サーバーでディレクトリの一覧表示が有効になっているサイトは、公式が挙げる標的の条件にあてはまる
  • 6.1系以前を使っているサイトは今回の脆弱性の対象外だが、強化策は全バージョンに関わるとして、公式は6.2.4への更新を勧めている

今すぐやること

  1. バージョンを確かめる:管理画面の「プラグイン」→「インストール済みプラグイン」で、Contact Form 7の行に表示されるバージョンを見る
  2. 6.2.4以降に更新する:同じ画面の「今すぐ更新」から更新する。WordPress.orgで現在配布されているのは6.2.4.1
  3. 自動更新をオンにする:同じ行の「自動更新を有効化」を押しておくと、次のセキュリティ修正も自動で入る。オンにしていても、更新されたかは画面で確かめておく
  4. ディレクトリの一覧表示が無効か確かめる:公式が標的の条件に挙げているため、サーバーやレンタルサーバーの設定で、フォルダの中身が一覧で見えない状態になっているかを確認する
WordPress.orgのContact Form 7プラグインページ。バージョン6.2.4.1、有効インストール数1,000万以上、WordPress 7.1以上、PHP 8.3以上と表示されている
WordPress.orgのプラグインページ(日本時間2026年10月29日21時ごろ取得)。出典:WordPress.org「Contact Form 7」

なお、6.2.4.1の動作要件はWordPress 7.1以上・PHP 8.3以上とWordPress.orgのプラグインページに表示されている。6.2.4.1の変更点として、更新履歴にはFormDataTree-PHPを2.0.10にしたことが書かれている。

更新で変わること(制作・開発担当者向け)

公式は、セキュリティ強化のために一部の使い方に影響する変更を入れたと説明している。

  • 実行可能なスクリプトとして扱われうるファイル名を無害化する wpcf7_antiscript_file_name() が、「危険な拡張子のリスト」ではなく「許可する拡張子のリスト(セーフリスト)」で判定するようになった。リストにない拡張子のファイルは、拡張子部分が自動で安全なものに置き換えられる
  • 初期のセーフリストは、画像(jpg・png・gif・webp・heicなど)、音声・動画(mp3・mp4・movなど)、pdf、txtなど。zipやWord・Excelファイルなどは含まれていないため、これらを受け付けているフォームは送信後の動作を確かめておきたい
  • 拡張子を追加したいときは、新しいフィルターフック wpcf7_file_extension_safelist で追加できる(公式の例:zipを追加)
  • wpcf7_unship_uploaded_file() は第2引数 $options が必須になり、第3引数 $uploaded_files が追加された。独自コードでこの関数を呼んでいる場合は引数の修正が必要
add_filter( 'wpcf7_file_extension_safelist', function ( $safelist ) {
	return array_merge( $safelist, ['zip'] ); // zipを追加
} );

このほか、内部ライブラリ(Functions-PHP 1.1.0、FormDataTree-PHP 2.0.9、SWV-PHP 2.0.8)の更新や、UTF-8の正規表現処理前に wp_scrub_utf8() をかける変更も含まれている。

注意点・補足

  • 事実関係は、Contact Form 7公式のリリース記事(2026年10月29日)、WordPress.orgのプラグインページと更新履歴、作者のX投稿に基づく
  • CVE番号、CVSSなどの深刻度、実際の攻撃が確認されているかどうかは、公式リリース記事には書かれていない(日本時間10月29日21時時点)
  • WPScanなど脆弱性データベースへの掲載は、日本時間10月29日21時時点では確認できていない。掲載されしだい追記する
  • 本記事は公式発表の整理であり、個別サイトでの更新後の動作を保証するものではない

出典

目次