CoreDNS の脆弱性 CVE-2025-47950 が FIX:メモリ枯渇に至る可能性

CoreDNS Vulnerability Let Attackers Exhaust Server Memory Via Amplification Attack

2025/06/11 CyberSecurityNews — クラウド・ネイティブ環境において、特に Kubernetes クラスタにおいて、広く使用される DNS サーバの1つである CoreDNS に、深刻なセキュリティ脆弱性が発見された。この脆弱性 CVE-2025-47950 の悪用に成功したリモートの攻撃者は、DNS-over-QUIC (DoQ) ストリーム増幅攻撃を通じて、コンテナ化のための環境でサーバ・メモリを枯渇させ、サービス停止を引き起こす可能性を手にする。

この脆弱性は、CoreDNS の server_quic.go 実装に存在する。それにより、DNS-over-QUIC サーバが QUIC ストリームに対して、コンカレント実行制御を課すことなく、無制限の goroutine を作成してしまうという問題が生じる。

脆弱性の詳細

この設計上の根本的な問題を悪用する攻撃者は、”1ストリーム=1 goroutine” という動作を逆手に取り、1つの接続元から大量のコンカレント・ストリームを開くことで、この攻撃の可能性を手にする。

この攻撃ベクターは極めてシンプルであり、認証不要/低帯域/低リソースという条件下でも実行が可能である。

未認証のリモート攻撃者は、大量の QUIC ストリームを開くことで、メモリの無制限な割り当てを引き起こし、最終的にメモリ不足 (OOM:Out Of Memory) 状態を引き起こすとされる。

この脆弱性が影響を及ぼす範囲は、Corefile コンフィグで “quic://” プロトコルが有効化されている環境である。そのため、プライバシーとパフォーマンスを重視して、DNS-over-QUIC を導入している組織にとっては、大きなリスクとなる。

セキュリティ研究者たちは、この脆弱性の影響度を、可用性に影響を及ぼすものと分類しており、サービスの中断を引き起こす可能性があると指摘している。

Kubernetes ポッドやコンテナ化されたデプロイメントなどの、メモリが制約される環境においては、制限されるリソースよりシステム障害は発生しやすくなるため、さらに深刻な事態へと陥ることになる。

この脆弱性の発見は、@thevilledev に帰属する。この発見者は。セキュリティ上の欠陥の特定に加えて、高品質の修正実装も提供している 。

Risk FactorsDetails
Affected ProductsCoreDNS versions <1.12.2 with quic:// enabled in Corefile configuration
ImpactHigh availability loss (OOM kill or service unresponsiveness) in containerized environments
Exploit Prerequisites– QUIC protocol enabled- Network access to CoreDNS QUIC port- No authentication required
CVSS Score7.5 (High)
パッチの実装

CoreDNS 1.12.2 は、QUIC ストリーム処理を根本から再設計し、この問題に対応している。

このパッチでは、サーバにおけるコンカレント実行モデルを、根本から変更する2つの重要な緩和パラメータが導入されている:

  • max_streams:コンカレント QUIC ストリームの上限を、接続あたり 256 のデフォルトで設定する。
  • worker_pool_size:1024の固定ワーカー・プールで、ストリーム処理を制御する。

これらのコンフィグ・オプションは、強化された Corefile 構文を通じて利用可能になっている。

この実装では、問題となっていたストリームと goroutine における “1:1” の関係が廃止され、高度なコンカレント・シナリオであっても、システムの安定性を維持するための、制御されたワーカー・プールが利用されるようになった。

デフォルト値は、DNS over Dedicated QUIC 接続における、RFC 9250 仕様に準拠しており、一般的な本番環境で観察されるクライアントの動作パターンに対応している。

なお、迅速なアップグレードが難しい場合には、暫定的な保護措置として、いくつかの回避策が提供されている。

Corefile コンフィグの “quic://” ブロックを、削除またはコメントアウトすることで、管理者は QUIC サポートを完全に無効化できる。

さらに、コンテナ・ランタイムのリソース制限を実装することで、過剰なメモリ消費パターンを検出できる。それにより、QUIC 接続の異常を監視するシステムが確立され、早期の脅威検出が可能になる。

CoreDNS 1.12.2 未満のバージョンを使用している場合には、特に、アプリケーション機能やユーザー・エクスペリエンスに対して、DNS の可用性がダイレクトな影響を及ぼす本番環境で使用している場合には、直ちにアップグレードを実行すべきである。