- アドバイザリ ID: DRUPAL-SA-CORE-2018-006
- プロジェクト: Drupal core
- バージョン: 7.x, 8.x
- 日付: 2018年10月17日
詳細
Content moderation - Moderately critical - アクセスバイパス - Drupal 8
状況によっては、content moderationが特定のトランジション(状態遷移)の利用に必要なユーザーアクセス権の検証ができず、アクセスがバイパスされます。 この不具合を修正するために、content moderationに対して以下の修正が実施されました。これらは後方互換性に影響する可能性があります。
ModerationStateConstraintValidator
2つの追加サービスがこのサービスに導入されました。このサービスのサブクラスでコンストラクタをオーバーライドしている場合、これらの追加の依存関係を確実にコンストラクタに渡す必要があります。
StateTransitionValidationInterface
このインタフェースにメソッドが追加されました。 StateTransitionValidationを拡張せずに、インタフェースを実装している場合は、このメソッドを実装する必要があります。StateTransitionValidationを拡張して実装した場合には、実施した変更がこの新しいメソッドに反映される必要があります。
ユーザー権限
これまで、どのトランジションの利用権限も持たないユーザーには、コンテンツのステートが変更されない限り、コンテンツの更新アクセスが暗黙的に許可されていました。今回の修正により、リビジョン間でコンテンツのステートに変更が生じない場合においても、関連するトランジッションへのアクセス時にはすべてのユーザーに対してバリデーションが実施されるようになりました。
URLエイリアスによる外部URLインジェクション - Moderately Critical - オープンリダイレクト- Drupal 7 and Drupal8
pathモジュールはadminister path権限を持つユーザーにURLエイリアスを設定する権限を与えます。 ある特定の条件において、ユーザーは悪意のあるURLへのリダイレクトURLを設定することが可能です。この問題を悪用するためには、ユーザーがadminister paths権限を持っている必要があります。
匿名オープンリダイレクト - Moderately Critical - オープンリダイレクト - Drupal8
Drupal coreや寄与モジュールは、URL中でdestinationクエリーパラメーターを現在のページにおけるアクションの完了後のリダイレクト先を設定するために使用しています。ある特定の条件において、悪意のあるユーザーがこのパラメーターを利用して、外部サイトへのリダイレクトURLを生成することが可能です。それにより、ユーザーをソーシャルエンジニアリング攻撃のリスクにさらす可能性があります。 この脆弱性に関してはドキュメント化されています。
RedirectResponseSubscriber イベントハンドラの削除
修正の一つとして、\Drupal\Core\EventSubscriber\RedirectResponseSubscriber::sanitizeDestinationが削除されています。しかしこれは、public functionであり、API policy for event subscribersに従いAPIとは見なされません。もし、そのクラスを拡張したり、そのメソッドを呼び出している場合は、パッチの変更に合わせて実装を再検討する必要があります。 DefaultMailSystem::mail()におけるインジェクション - Critical - 外部からのコード実行 - Drupal 7 and Drupal 8 メール送信時にいくつかの変数がshell argumentのためにサニタイズされていませんでした。これは、リモートからコードを実行される原因となります。 Contextual Links validation - Critical - 外部からのコード実行 - Drupal 8 Contextual Linksモジュールは要求されたコンテクスチュアルリンクを十分に検証しません。この脆弱性を利用するためには、攻撃者がaccess contextual links権限を持っている必要があります。
対応方法
最新版のDrupal7もしくは、Drupal8にアップグレードしてください。
- 7.xをご利用の場合はDrupal 7.60にアップグレードしてください
- 8.6.xをご利用の場合はDrupal 8.6.2
- 8.5.xもしくは、それ以前のバージョンをご利用の場合はDrupal 8.5.8にアップデートしてください
8.5.x以前のDrupal8のマイナーバージョンはサポート対象外のため、セキュリティーアップデートの対象外です。そのため、古いバージョンをご利用中の場合は直ちに8.5.x以上にアップデートしてください。8.5.xは2019年の6月までセキュリティーアップデートの対象です。
関連コンテンツ
- Drupal Core の脆弱性について (SA-CORE-2024-001)
- Drupal Core の脆弱性について (SA-CORE-2023-006)
- Drupal Core の脆弱性について (SA-CORE-2023-005)
- Drupal Core の脆弱性について (SA-CORE-2023-004)
- Drupal Core の脆弱性について (SA-CORE-2023-003)
- Drupal Core の脆弱性について (SA-CORE-2023-002)
- Drupal Core の脆弱性について (SA-CORE-2023-001)
- Drupal Core の脆弱性について (SA-CORE-2022-016)
- Drupal Core の脆弱性について (SA-CORE-2022-015)
- Drupal Core の脆弱性について (SA-CORE-2022-014)
Drupal 初心者講座バックナンバー
- Drupal 9/10 初心者講座
- 第 1 回 歴史に見る Drupal の DNA
- 第 2 回 Drupal はフレームワークか?CMS か?他の CMS との比較
- 第 3 回 Drupal の特徴
- 第 4 回 Drupal 9 / 10 のインストール (1)
- 第 5 回 Drupal 9 / 10 のインストール (2)
- 第 6 回 Drupal にコンテンツを投稿してみる
- 第 7 回 Drupal のボキャブラリとタクソノミーの使い方
- 第 8 回 コンテンツ管理における Drupal と他の CMS との比較
- 第 9 回 Drupal のブロックシステム
- 第 10 回 Drupal の標準クエリビルダー Views の使い方
- 第 11 回 Drupal と他の CMS のクエリビルダー機能を比較
- 第 12 回 Drupal の多言語機能と他の CMS やサービスとの比較
- 第 13 回 Drupal の権限設定と WordPress や Movable Type との比較
- 第 14 回 Drupal のテーマシステムについて
- 第 15 回 Drupal の拡張モジュールの選定と使い方
- 第 16 回 Drupal をもっと知りたい方に向けた各種情報