IT用語集 › セキュリティ › XXE(XML外部エンティティ攻撃)

XXE(XML外部エンティティ攻撃)

セキュリティ Svenska → 更新: 2026-10-21

XMLパーサーが外部エンティティ参照を処理することを悪用し、ローカルファイルの読み取りやSSRF、DoSを引き起こす攻撃。OWASP Top 10(2017年版)に入っていた。

典型的なペイロードは <!DOCTYPE foo [<!ENTITY xxe SYSTEM "file:///etc/passwd">]><foo>&xxe;</foo> で、サーバーが /etc/passwd の中身を返してしまう。パーサーに外部へHTTPリクエストを送らせれば、帯域外XXEによるSSRFになる。入れ子のエンティティを指数的に展開させるbillion laughsはメモリ枯渇型のDoSである。

対策は、XMLパーサーで外部エンティティの処理を無効にすること(libxmlなら libxml_disable_entity_loader(true))と、可能ならJSONを使うことだ。PHP 8.0未満は既定でXXEを許していたが、8.0で既定値が改められた。

← 用語集に戻る