概要
CoreDNSはKubernetesのデフォルトDNSサーバーとして広く採用されている、Go製の高性能DNSサーバーです。
本脆弱性は、CoreDNSのDNS-over-HTTPS(DoH)機能におけるGETリクエストの処理に存在します。DoHのGETパスでは、DNSクエリがURLのdns=クエリパラメータとしてBase64エンコードされた形式で送信されます。CoreDNSはこのパラメータのサイズを適切に制限していないため、攻撃者が過大な値を送信するとURLクエリのパース処理およびBase64デコード処理において大量のメモリとCPUリソースを消費します。
この結果、サーバーのリソースが枯渇し、正常なDNSクエリの処理が妨げられるサービス拒否(DoS)状態に陥ります。DoH機能を公開しているCoreDNSインスタンスは特にリスクが高く、ネットワーク経由で認証なしに攻撃可能です。
Kubernetesクラスタ内でDoHを有効にしている環境では、クラスタ全体のDNS解決に影響が生じる可能性があります。
CVSSベクトル
| 指標 | 値 |
|---|---|
| CVSSスコア | 7.5 |
| 深刻度 | High |
| CWE | CWE-770 (制限なしのリソース割り当て) |
| 攻撃元区分 | ネットワーク |
| 攻撃条件の複雑さ | 低 |
| 必要な特権レベル | 不要 |
影響を受けるソフトウェア
| 製品 | ベンダー | 影響バージョン |
|---|---|---|
| CoreDNS | CoreDNS Project | < 1.14.3 |
修正バージョンと回避策
- 修正バージョン: CoreDNS 1.14.3 にアップデートしてください
- 回避策: DoH(DNS-over-HTTPS)機能を使用していない場合はCorefileからDoHリスナーの設定を削除してください。使用している場合は、リバースプロキシでリクエストサイズを制限することで暫定的にリスクを軽減できます
- 確認方法:
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 により自動生成されています。正確性については原文をご確認ください。
