70万以上のBIND 9 DNSリゾルバがキャッシュポイズニングの危険に晒される – PoC公開

概要

世界中で706,000以上のBIND 9 DNSリゾルバに影響を与える重大な脆弱性が公表され、その概念実証(PoC)エクスプロイトコードが公開されました。この脆弱性により、攻撃者は悪意のあるDNSレコードを脆弱なリゾルバのキャッシュに注入し、ユーザーを攻撃者が制御するインフラストラクチャにリダイレクトするキャッシュポイズニング攻撃を実行できる可能性があります。

脆弱性の詳細

この脆弱性はCVE-2025-40778として追跡されており、Internet Systems Consortiumによって2025年10月22日に開示されました。CVSSスコアは8.6(高)と評価されています。Censysのセキュリティ研究者によると、開示時点でインターネット上に706,477の脆弱なインスタンスが確認されており、広範な悪用のリスクが懸念されています。

  • CVE-ID: CVE-2025-40778
  • CVSSスコア: 8.6 (高)
  • 開示日: 2025年10月22日

キャッシュポイズニング攻撃の仕組み

この脆弱性は、BIND 9リゾルバがDNS応答を処理する方法に存在します。通常、リゾルバは元のクエリで明示的に要求されたDNSレコードのみを受け入れ、キャッシュする必要があります。しかし、影響を受けるBIND 9のバージョンでは、応答セクションのリソースレコードが解決中の質問と一致するかどうかを適切に検証できません。

この検証の失敗により、オフパス攻撃者はDNS応答を競合または偽装することで、偽造されたアドレス情報をリゾルバのキャッシュに注入できます。一度ポイズニングされると、リゾルバはこれらの悪意のあるレコードをダウンストリームのクライアントに提供し、新たなDNSルックアップをトリガーすることはありません。攻撃者はこれを利用して、脆弱なリゾルバを介して到達可能な任意のドメインをリダイレクトし、資格情報の窃盗、マルウェアの配布、または疑うことを知らないユーザーに対する中間者攻撃を可能にします。

影響を受けるバージョンとパッチ

この脆弱性は、数年間にわたるBIND 9リゾルバソフトウェアの複数のバージョンブランチに影響を与えます。以下のバージョンを実行している組織はリスクに晒されています。

  • 9.11.0から9.16.50
  • 9.18.0から9.18.39
  • 9.20.0から9.20.13
  • 9.21.0から9.21.12

ISCは、厳格なフィルタリングを追加して、キャッシュする前に不一致のリソースレコードセットを破棄することで、この脆弱性に対処するパッチバージョンをリリースしました。これには9.18.41、9.20.15、および9.21.14が含まれます。

推奨される対策

キャッシュポイズニング技術を実証する概念実証エクスプロイトがGitHubで公開されており、セキュリティ研究者と悪意のあるアクターの両方がこの脆弱性を理解し、悪用することが容易になっています。現時点ではアクティブな悪用は報告されていませんが、動作するエクスプロイトコードの利用可能性はリスクを大幅に増加させます。

組織は、BIND 9リゾルバを直ちにアップグレードすることを優先し、以下の暫定的な緩和策を実装する必要があります。

  • 信頼できるクライアントへの再帰を制限する
  • DNSSEC検証を有効にする

元記事: https://gbhackers.com/706000-bind-9-dns-resolvers-exposed-to-cache-poisoning/