ANNAIマガジン
Drupal Coreの脆弱性-SA-CORE-2018-006
この記事は「 Drupal Core - Multiple Vulnerabilities - SA-CORE-2018-006 」の翻訳です。
この記事の目次
  • アドバイザリ 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月までセキュリティーアップデートの対象です。

この記事を書いた人 : Kentaro Inoue

ANNAI株式会社
経営企画室 室長
サービスの設計・企画、マーケティング、採用戦略の立案などを担当。普段は新潟で猫と一緒に、時々海外からリモートで働いています。好きなモジュールはRulesとFlagです。

関連コンテンツ