オープンソース・ソフト Drupal を使った Web サイトの構築・サポート・研修

セキュリティー報告:Entity API 7.x、Custom Permissions 7.x-2.x、Dynamic Banner、Entity Backup、VChess

Drupal セキュリティーチームからの連絡です(日本時間 2018/02/15(木)05:54 AM~)

今週は拡張モジュールが 5 つです。そのうち、普及率が高い Entity API 7.x と Custom Permissions 7.x の情報だけを訳しました。他のモジュールについてはそれぞれの原文をご覧ください。

モジュール名(重大性スコア)使用サイト数


Entity API

オンラインの原文: Entity API - Moderately critical - Information Disclosure - SA-CONTRIB-2018-013


概要

Entity API モジュールを利用すると、Drupal コアの Entity API を拡張し、エンティティーとそのプロパティーの扱い方を統一することができる。

このモジュールは特定のエラー条件においてデバッギング情報を HTML に出力してしまうため、情報露見の脆弱性が生じる。

事実として、攻撃者は、保護されたデータが露見するようなエラー条件を引き起こす必要があるため、この脆弱性は軽減される。


解決方法

最新バージョンをインストールする。

  • Drupal 7.x 用の Entity API モジュールを使用している場合は Entity API 7.x-1.9 にアップデートする。

Custom Permissions

オンラインの原文: Custom Permissions - Moderately critical - Access bypass - SA-CONTRIB-2018-010


概要

Custom Permissions モジュールを利用すると、ユーザーはパスごとにカスタムのパーミッションを設定することができる。

このモジュールは、"node/1"、"user/2" といったような動的な引数を伴うパスに対して十分なチェックを行わない。そのため、サイト管理者がパスに対して保存したカスタム パーミッションが保護されない可能性がある。そうしたパスを保護するために Custom Permissions モジュールを利用している場合は、アクセス バイパスの脆弱性につながりかねない。

事実として、この問題は、動的なパスを保護するために Custom Permissions モジュールを使おうとしていたサイトでのみ生じるため、この脆弱性は軽減される。


解決方法

最新バージョンをインストールする。

  • Drupal 7.x 用の Custom Permissions モジュールを使用している場合は Custom Permissions 7.x-2.2 にアップデートする。

最新バージョンをインストールしたあと、管理(Administration)→ ユーザー(People)→ Custom Permissions (admin/people/custom_permissions) に入り、フォームを保存する。保存してエラーが出なければ、そのサイトには、この脆弱性がない。しかし、「このモジュールは動的な引数のあるパスを保護しようとしているが保護できない(the module is attempting to protect paths with dynamic arguments that it is unable to protect)」という旨のエラー メッセージが表示された場合は手動で修正を行う必要がある。

こうしたパスを保護するには別の方法でサイトを再構成すべき(たとえば、"node/1" で特定の単独ノードを保護しようとするのではなく、"node/*" を使ってすべてのノードを同じパーミッションで保護するなど。ノード アクセス用のモジュールを使ってノード関連パスを細かくアクセス コントロールして保護するのもよい)。