概要
CoreDNSはKubernetesのデフォルトDNSサーバーとして広く採用されている、Go製の高性能DNSサーバーです。
本脆弱性は、CoreDNSのDNS-over-QUIC(DoQ)サーバー機能に存在するリソース管理の不備に起因します。リモートのクライアントが大量のQUICストリームを開き、各ストリームに対して1バイトのみを送信することで、CoreDNSサーバー上でgoroutineとメモリが無制限に増加します。
QUICプロトコルでは単一の接続上で複数のストリームを多重化できますが、CoreDNSのDoQ実装では個々のストリームに対するリソース制限が適切に設定されていませんでした。攻撃者はこの特性を悪用し、不完全なリクエストを大量に送信することでサーバーのリソースを枯渇させ、サービス拒否(DoS)状態を引き起こすことが可能です。
Kubernetesクラスタ内でCoreDNSのDoQ機能を有効にしている環境では、DNS解決が停止しクラスタ全体のサービスディスカバリに影響が及ぶ恐れがあります。
CVSSベクトル
| 指標 | 値 |
|---|---|
| CVSSスコア | 7.5 |
| 深刻度 | High |
| CWE | CWE-770 (制限なしのリソース割り当て) |
| 攻撃元区分 | ネットワーク |
| 攻撃条件の複雑さ | 低 |
| 必要な特権レベル | 不要 |
影響を受けるソフトウェア
| 製品 | ベンダー | 影響バージョン |
|---|---|---|
| CoreDNS | CoreDNS Project | < 1.14.3 |
修正バージョンと回避策
- 修正バージョン: CoreDNS 1.14.3 にアップデートしてください
- 回避策: DoQ(DNS-over-QUIC)機能を使用していない場合はCorefileからDoQリスナーの設定を削除してください。使用している場合は早急にアップデートを検討してください
- 確認方法:
kubectl get pods -n kube-system -l k8s-app=kube-dns -o jsonpath='{.items[*].spec.containers[*].image}'でCoreDNSのバージョンを確認できます
関連リンク
データソース: NVD (NIST), GitHub Advisory Database AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
