XML External Entityについて説明していきます。
■概要
XML External Entity(XML 外部エンティティ参照)は、アプリケーションがXML文書の解析する際に発生する脆弱性の一種です。
XML文書内では、エンティティと呼ばれる外部のデータ参照を定義できます。エンティティは、文書内で再利用可能なテキストやデータの断片です。XML文書内でエンティティを定義し、参照することができます。
XML External Entityは、XML文書内に不正な外部エンティティ参照を挿入することによって発生し、攻撃者はこれを利用して、機密ファイルへのアクセスや任意のリソースの読み取りを試みます。
■想定される被害
XML External Entityによって、以下のような被害にあう可能性があります。
どのような被害を受ける可能性があるかあらかじめ把握しておき、攻撃を受けないように対策を検討することが必要です。
・機密情報の漏洩
・サーバー乗っ取り
■対策
XML External Entityの対策として挙げられるものは以下のようなものとなります。
・入力値の検証と適切なエスケープ処理を行う。
・XMLパーサーの設定を調整して、外部エンティティの解析を無効にする。