Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
DNS is network-accessible with no auth or interaction required; A:L reflects the default SERVFAIL outcome, with crash only when non-default debug directive is active.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
4DescriptionCVE.org
CoreDNS is a DNS server written in Go. Prior to 1.14.5, the CoreDNS rewrite plugin supports edns0 rewrite rules with an optional revert flag, and two response rules, edns0SetResponseRule and edns0ReplaceResponseRule[T] in plugin/rewrite/edns0.go, call res.IsEdns0() and immediately dereference the returned *dns.OPT without a nil check when a downstream plugin returns a response with no OPT record. A remote, unauthenticated client can send a single ordinary DNS query matching a rewrite edns0 <local|nsid|subnet> <set|append|replace> ... revert rule, causing ResponseReverter in plugin/rewrite/reverter.go to panic, return SERVFAIL, and degrade availability, or crash the CoreDNS process if the debug directive disables recovery. This issue is fixed in version 1.14.5.
AnalysisAI
Nil pointer dereference in CoreDNS prior to 1.14.5 allows remote unauthenticated attackers to crash or degrade the DNS server by sending a single ordinary DNS query. The rewrite plugin's edns0 response rules dereference the result of IsEdns0() without a nil check; when a downstream plugin returns a response lacking an OPT record, the ResponseReverter panics, returning SERVFAIL in default deployments or terminating the CoreDNS process entirely when the debug directive is active. No public exploit code has been identified and the issue is fixed in v1.14.5.
Technical ContextAI
CoreDNS (cpe:2.3:a:coredns:coredns) is a Go-based DNS server that serves as the default cluster DNS resolver in Kubernetes. The vulnerability is rooted in CWE-476 (Null Pointer Dereference) and resides in plugin/rewrite/edns0.go within the edns0SetResponseRule and edns0ReplaceResponseRule[T] response rule implementations. Both methods invoke res.IsEdns0(), which returns a *dns.OPT pointer, and immediately dereference that pointer without verifying it is non-nil. When a downstream plugin in the CoreDNS chain produces a DNS response that omits the OPT (EDNS0 extension) record - a valid and common response format - the returned pointer is nil, triggering a Go nil dereference panic. The panic propagates through ResponseReverter in plugin/rewrite/reverter.go, which is invoked during response post-processing when the revert flag is set on an edns0 rewrite rule. The fix in PR #8190 (commit fc447d0658b093edc8cd29a6b171216a44a644c2) inserts explicit nil guards immediately after both IsEdns0() calls, aborting the revert operation cleanly when no OPT record is present.
RemediationAI
Upgrade CoreDNS to version 1.14.5, which contains the nil-guard fix introduced in commit fc447d0658b093edc8cd29a6b171216a44a644c2 via PR #8190; the release is at https://github.com/coredns/coredns/releases/tag/v1.14.5. If an immediate upgrade is not feasible, remove the revert flag from any edns0 rewrite rules in the Corefile (e.g., change 'rewrite edns0 local set 0xffee 0xabcdef revert' to the same rule without 'revert'); note that this changes behavior - EDNS0 options added during request rewriting will no longer be stripped from responses, which may affect downstream clients expecting clean responses. As a secondary measure, removing the debug directive from the Corefile (if present) limits the worst-case outcome from process termination to SERVFAIL responses, buying time without fully eliminating the vulnerability.
Coredns versions up to 1.14.2 contains a vulnerability that allows attackers to crash the DNS server by sending speciall
CoreDNS versions prior to 1.14.2 allow authenticated attackers to bypass DNS access controls through a Time-of-Check Tim
Remote denial of service in CoreDNS versions prior to 1.14.4 allows an unauthenticated attacker to crash the DNS server
CoreDNS is a DNS server that chains plugins. Prior to version 1.14.0, multiple CoreDNS server implementations (gRPC, HTT
A denial of service vulnerability in versions (CVSS 7.5). High severity vulnerability requiring prompt remediation. Vend
Unhandled Go runtime panic in CoreDNS 1.9.4 through 1.14.4 allows a network-reachable DNS client with AXFR permission to
Same weakness CWE-476 – NULL Pointer Dereference
View allSame technique Denial Of Service
View allVendor StatusVendor
Share
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-45020