情報取得日: 2026/07/14/最終確認: 2026/08/10・本ページは公開情報の非公式まとめです
| CVE ID | CVE-2026-46633 |
|---|---|
| 製品 | Twig / Twig(PHP テンプレートエンジン) |
| CVSS | 9.8(Critical) CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| 種別 (CWE) | CWE-94 生成コードの不適切な制御(コードインジェクション) |
| 登録/公開日 | 2026/07/14 |
| 出典 | https://nvd.nist.gov/vuln/detail/CVE-2026-46633 |
Twig 3.26.0 未満の Compiler::string() が、{% use %} タグのテンプレート名を PHP のシングルクォート文字列リテラルへ埋め込む際にシングルクォートをエスケープしない。テンプレート名を攻撃者が制御できる構成では、名前の中でリテラルを閉じてコンパイル済みキャッシュファイルに任意の PHP 式を書き込める。実際に危険なのは「テンプレート名が外部入力から来る」設計のときで、名前が全てソース内に固定されているアプリは影響を受けにくい。NVD の一次スコアは CVSS 3.1 基本値 9.8(Critical)、CVSS 4.0 では 8.7(High)で、4.0 では低権限の保有(PR:L)を前提に評価されている。
各ベンダー公式アドバイザリで確認できた事実に基づき整理しています。確認できていない項目は「情報確認中」と明記し、存在しないパッチ番号・バージョンは記載しません。
| 環境 | 対応状況 | 対応方法・備考 |
|---|---|---|
| AWS (ECS/EC2) | パッチあり(アプリ更新) |
アプリの composer 依存を twig/twig 3.26.0 以降へ更新して再デプロイする
Twig はアプリに同梱されるライブラリなので、EC2 / ECS / Lambda いずれでもデプロイ成果物やコンテナイメージの再作成が必要。AWS 固有の修正提供はない。
参照リンク
|
| GCP | パッチあり(アプリ更新) |
GCE / GKE / Cloud Run のアプリで composer 依存を 3.26.0 以降へ更新して再デプロイする
GCP 固有の修正提供はない。Cloud Run はイメージの再ビルドが必要。
参照リンク
|
| Azure | パッチあり(アプリ更新) |
App Service / AKS のアプリで composer 依存を 3.26.0 以降へ更新して再デプロイする
Azure 固有の修正提供はない。
参照リンク
|
| Linux | パッチあり(アプリ更新) |
composer update twig/twig でアプリ側の依存を更新する
Twig は composer で導入するのが通常で、OS のセキュリティ更新では直らない。あわせてコンパイル済みテンプレートのキャッシュディレクトリを消して作り直すと、既に汚染されたキャッシュが残らない。
参照リンク
|
composer で twig/twig を 3.26.0 以降へ更新するのが確実な対応。更新前にまず「{% use %} や include に渡すテンプレート名に、リクエストパラメータやDBの値が混ざる箇所があるか」を grep で確認すると、緊急度を判断できる。名前が全て固定文字列であれば侵入経路が無いため、通常の更新サイクルに載せてよい。外部入力が混ざる箇所があるなら、更新までの緩和としてテンプレート名を許可リスト方式(想定する名前の集合と突き合わせて一致したものだけ使う)に変える。
Critical(CVSS 9.8)に分類されるTwig Twig(PHP テンプレートエンジン)の脆弱性です。Twig 3.26.0 未満の Compiler::string() が、{% use %} タグのテンプレート名を PHP のシングルクォート文字列リテラルへ埋め込む際にシングルクォートをエスケープしない。テンプレート名を攻撃者が制御できる構成では、名前の中でリテラルを閉じてコンパイル済みキャッシュファイルに任意の PHP 式を書き込める。実際に危険なのは「テンプレート名が外部入力から来る」設計のときで、名前が全てソース内に固定されているアプリは影響を受けにくい。NVD の一次スコアは CVSS 3.1 基本値 9.8(Critical)、CVSS 4.0 では 8.7(High)で、4.0 では低権限の保有(PR:L)を前提に評価されている。
composer で twig/twig を 3.26.0 以降へ更新するのが確実な対応。更新前にまず「{% use %} や include に渡すテンプレート名に、リクエストパラメータやDBの値が混ざる箇所があるか」を grep で確認すると、緊急度を判断できる。名前が全て固定文字列であれば侵入経路が無いため、通常の更新サイクルに載せてよい。外部入力が混ざる箇所があるなら、更新までの緩和としてテンプレート名を許可リスト方式(想定する名前の集合と突き合わせて一致したものだけ使う)に変える。
Twig Twig(PHP テンプレートエンジン) を利用している場合、稼働バージョンが影響範囲に含まれるかを一次情報(https://nvd.nist.gov/vuln/detail/CVE-2026-46633)で確認してください。AWS・GCP・Azure・Linux それぞれの対応状況は本ページの「クラウド/OS 別の対応状況」表にまとめています。確認できていない項目は「情報確認中」と明記しており、存在しないパッチ番号・バージョンは記載していません。
本ページの記載は下記の一次情報に基づく非公式まとめです。数値・対応状況は各出典元で最終確認してください(最終確認: 2026/08/10)。