Drupal core - Critical - PHP object injection - SA-CORE-2026-005
日本時間2026/6/18、Drupalコアにおいて脆弱性が発表されました。
お使いのバージョンを確認の上、対応をおすすめします。
●プロジェクト :Drupalコア
●投稿日 :2026/6/18 JST
●セキュリティリスク :Critical
●脆弱性 :PHP object injection
●対象バージョン :<10.5.12 || >=10.6.0 <10.6.11 || >=11.2.0 <11.2.14 || >=11.3.0 <11.3.12 || 11.0.* || 11.1.*
==概要==
SA-CORE-2019-003 では、シリアライズされたデータを保存するフィールドに対して、Webサービス経由での直接の書き込みを禁止する保護機能が追加されていました。
しかし、この修正ではJSON:APIにおけるすべての攻撃経路を網羅できていませんでした。JSON:APIの書き込み権限を持つ攻撃者は、特定のまれな状況下において悪意のあるデータを注入しPHPオブジェクトインジェクションを引き起こす可能性があります。
この脆弱性は、悪用が成立するための以下の条件を満たす場合にのみ影響します。
- シリアライズされたプロパティを保存するエンティティ参照フィールドタイプを使用していること
- 攻撃者がJSON:API経由で当該エンティティに書き込みを行う権限を持っていること
Drupalコアに含まれるフィールドタイプには、これらの条件を満たすものはありません。また、これらの条件に該当する拡張モジュールや独自実装のフィールドタイプも極めてまれです。なお、今回のアップデートではそのようなフィールドも保護されるため、拡張モジュール側での変更は必要ありません。
JSON:APIはデフォルトでは読み取り専用です。そのため、管理者による設定変更や書き込み機能を有効化する拡張モジュール/カスタムモジュールを導入している場合にのみ影響を受けます。
Drupal Stewardによる保護
この問題は Drupal Steward によって保護されています。本件ではWAFのルールによって一般的または明白な攻撃経路に対する効果は期待できると考えていますが、全てのケースを網羅するものではなく、また全てのホスティング環境で有効に機能するとは限りません。さらに、本日公開された他の複数のDrupalコア セキュリティアドバイザリについては、Drupal Stewardでは保護されません。そのため本リリース公開後24時間以内にDrupalのアップデートを実施する計画を立てることが推奨されます。
==解決方法==
最新バージョンをインストールしてください。
Drupal 11
- Drupal 11.3.xを利用している場合は Drupal 11.3.12 にアップデートしてください
- Drupal 11.2.xを利用している場合は Drupal 11.2.14 にアップデートしてください
Drupal 10
- Drupal 10.6.xを利用している場合は Drupal 10.6.11 にアップデートしてください
- Drupal 10.5.xを利用している場合は Drupal 10.5.12 にアップデートしてください
11.1.x、Drupal 11.0.x、Drupal 10.4.xおよびそれ以前のバージョンはサポート終了となっており、セキュリティサポートは提供されません。(Drupal 8およびDrupal 9も既にサポート終了しています。)
