Drupal Webformにコード注入の弱点、修正版あり
Drupal 用モジュール Webform に、ログイン不要でネットワーク越しに悪用できるコード注入の弱点が見つかり、CVSS 9.1(Critical)と評価されています。問い合わせフォームやアンケートに Webform を使っている Drupal サイトが対象で、6.2.12 または 6.3.1 への更新が必要です。実際の攻撃での悪用が確認されたという情報は、現時点では公表されていません。
急ぎ度: 早めに
認証なしでネットワーク経由の悪用が可能と評価されており、修正版も出ていますが、実際の攻撃での悪用は公表されていないため、計画停止を待たず優先して更新する段階です。
関係があるか
DrupalサイトでWebformモジュールを導入している組織が対象です。公開サイトの問い合わせ、申込、アンケートなどにこのモジュールを使っている場合は特に確認が必要です。
| 製品 | 影響を受ける版 | 直った版 |
|---|---|---|
| Drupal Webform(drupal/webform) | 6.2.12より前のすべての版(0.0.0以上)、および6.3.0 | 6.2.12(6.2系)、6.3.1(6.3系) |
確かめ方
- 1ComposerでDrupalを管理している場合は、サイトのルートで
composer show drupal/webformを実行し、表示された版を確認します。 - 2Drushが使える環境では
drush pm:list --filter=webformで、モジュールが有効かどうかと版を確認できます。 - 3管理画面では「拡張機能」の一覧でWebformが有効かどうかを確認し、「レポート」の「利用可能なアップデート」で版の状況を確認します。
- 4本番環境だけでなく、ステージングや検証用のサイトにもWebformが入っていないか確認します。外部から到達できる検証環境は見落としやすい点に注意してください。
何が起きたか
Drupalでフォームを作るためのモジュールWebformに、コードの注入を許してしまう弱点が見つかりました。外部から送られた内容が、本来は単なる文字として扱われるべきところで、プログラムの命令として解釈されてしまうおそれがあるという種類の問題です。
分類はCWE-1336で、テンプレートエンジンで使われる特殊な記号や構文を適切に無害化できていないことが原因とされています。テンプレートエンジンは、画面やメッセージの文面に値を差し込むための仕組みです。この仕組みに、意図しない式や命令を紛れ込ませることができると、サーバー側で想定外の処理が行われる可能性があります。
影響を受けるのは、6.2.12より前のすべての版と、6.3.0です。ベンダー側の修正は6.2.12と6.3.1で提供されています。具体的にどの機能や入力経路が問題になるのかといった技術的な詳細は、現時点で明らかになっていません。Drupalのセキュリティ告知(SA-CONTRIB-2026-175)で確認してください。
攻撃の流れ
-
1
フォームに到達
攻撃者が、Webformを使っているサイトにネットワーク経由でアクセスします。ログインは必要ないと評価されています。
-
2
不正な内容を送信
テンプレートの特殊な構文を含む内容を、Webformが処理する経路に送ります。
-
3
命令として解釈
無害化が不十分なため、送られた内容がテンプレートの式として処理されてしまいます。
-
4
サーバー上で実行
注入されたコードが実行され、サイト内の情報の読み取りや改ざんにつながるおそれがあります。
どう悪用されるか
CVSSのベクターでは、ネットワーク経由(AV:N)、攻撃の難易度は低い(AC:L)、事前の認証は不要(PR:N)、利用者の操作も不要(UI:N)とされています。つまり、Webformが動いているDrupalサイトに外部から到達できれば、アカウントを持たない第三者が試みられる条件です。
想定される被害は、情報の漏えい(機密性への影響が高)と改ざん(完全性への影響が高)です。フォームの送信内容には、問い合わせ者の氏名、連絡先、申込内容などの個人情報が含まれることが多く、サイト内の他のデータにも影響が及ぶ可能性があります。一方で、サービス停止(可用性)への影響は評価されていません。コード注入で具体的にどこまで可能になるかは公表されていません。
今すぐやること
-
1
Webformの導入有無と版を確認する
本番、ステージング、検証の各環境で、Webformが入っているか、版が6.2.12未満または6.3.0に当たるかを洗い出します。外部に公開しているサイトから優先して確認します。
composer show drupal/webform -
2
修正版へ更新する
6.2系は6.2.12以上、6.3系は6.3.1以上に更新します。Composerで管理している場合はcomposer.jsonの制約を確認し、更新後に画面でフォームの表示と送信が正常に動くか確認します。更新前にはデータベースとファイルのバックアップを取ってください。
-
3
更新後に版を再確認する
更新が反映されたことを、再度composerや管理画面で確認します。複数台構成の場合は、すべてのサーバーに反映されているかも確認します。
composer show drupal/webform -
4
不審な痕跡がないか確認する
更新前の期間について、Webサーバーのアクセスログ、Drupalのログ、フォーム送信データに、見覚えのない大量のアクセスや異常な入力がないか確認します。悪用の手口は公表されていないため、確実に見分けられるとは限りません。気になる点があれば専門の部署や委託先に相談してください。
-
5
ベンダーの告知を継続して確認する
Drupalのセキュリティ告知SA-CONTRIB-2026-175やWebformプロジェクトのページで、追加情報や再更新の案内が出ていないか確認します。
すぐ更新できないとき
回避策は公表されていません。更新が直ちにできない場合は、更新までの間、Webformを使った公開フォームの公開範囲を絞る、あるいは一時的に非公開にする対応を検討してください。モジュールの無効化は、フォームの機能停止や保存済みデータの扱いに影響するおそれがあるため、実施前に影響を確認します。WAFなどによる防御は、効果が確認されていないため、更新の代わりにはなりません。
背景
Webformは、Drupalで問い合わせフォーム、申込、アンケートなどを管理画面から作れるようにする、広く使われているコントリビュートモジュールです。企業サイトや自治体サイトの入口として外部に公開されることが多く、送信されたデータ(個人情報を含む場合があります)を保存する役割も持ちます。そのため、弱点が見つかった場合の影響が大きくなりやすい製品です。
テンプレートエンジンに外部の入力が混ざることで起こるコード注入は、Webアプリケーションで以前から繰り返し問題になってきた種類の弱点です。入力を文字として扱うべき場所と、命令として扱う場所の区別が崩れると発生します。外部から到達できるうえに認証が不要な場合は、攻撃のしやすさが高く評価されがちです。
よくある質問
Q.すでに攻撃に使われていますか。
Q.Webformを無効にしていれば影響はありませんか。
Q.どの版に更新すればよいですか。
まだ分かっていないこと
- 実際の攻撃での悪用の有無は公表されていません。
- どの機能や入力経路が問題になるのか、技術的な詳細は現時点で明らかになっていません。
- 更新できない場合の公式な回避策は公表されていません。
この記事は、取得元の公開情報をもとに生成 AI で作成しています。誤りを含むことがあります。対応を決める前に、下の原文と参照先を確認してください。
影響パッケージ
| 種類 | パッケージ | 影響を受ける版 | 直った版 |
|---|---|---|---|
| Drupal | Webform |
0.0.0 以上 6.2.12 未満 6.3.0 以上 6.3.1 未満 |
6.2.12 6.3.1 |
原文の説明 取得元が公開している説明をそのまま載せています (多くは英語)。
Improper Neutralization of Special Elements Used in a Template Engine vulnerability in Drupal Webform allows Code Injection. This issue affects Webform versions: from 0.0.0 to 6.2.12, from 6.3.0 to 6.3.1.
出典: CVE.org (CVE Program・cvelistV5) NVD GitHub Advisory
参照URL
- advisory nvd.nist.gov
- advisory github.com
- web drupal.org
- web github.com
- web git.drupalcode.org
- web drupal.org