CVE-2026-62299
MediumCVSS 5.3Exploitation Probability (EPSS)
Low risk23th percentile - higher than 23% of all known CVEs
Summary
CoreDNS prior to 1.14.5 has a vulnerability in the rewrite plugin where a missing nil check after calling res.IsEdns0() can cause a panic and crash the process. A remote, unauthenticated client can send a single DNS query to trigger this, degrading availability.
Risk Assessment
An attacker can crash the CoreDNS server, causing DNS service disruption for the entire organization. Even if recovery is disabled, the process may hang.
Recommendation
Upgrade CoreDNS to version 1.14.5 or later, which includes a fix to prevent panic when no OPT record is present.
Other vulnerabilities in CoreDNS
See all- CVE-2025-68151Medium
CoreDNS before version 1.14.0 has a vulnerability in gRPC, HTTPS, and HTTP/3 server implementations that lack critical resource-limiting controls. An unauthenticated remote attacker can exhaust memory and degrade or crash the server by opening many concurrent connections.
- CVE-2026-35579Critical
CoreDNS versions prior to 1.14.3 incorrectly handle TSIG authentication in gRPC, QUIC, DoH, and DoH3 transports. For gRPC and QUIC, the server only checks the TSIG key name but does not validate the HMAC, so any request with a matching key name is considered authenticated. For DoH and DoH3, the issue is more severe – the server never inspects the TSIG record at all, so any request with TSIG is treated as authenticated.
- CVE-2026-86003High
CoreDNS is a DNS server written in Go. Prior to 1.14.7, the DNS-over-HTTPS, DNS-over-HTTP/3, DNS-over-QUIC, and DNS-over-gRPC listeners in plugin/pkg/doh/doh.go, core/dnsserver/server_quic.go, and core/dnsserver/server_grpc.go call dns.Msg.Unpack without the dns.DefaultMsgAcceptFunc request policy used by UDP, TCP, and DNS-over-TLS. An unauthenticated client can send an RFC 2136 UPDATE that the proxy or forward plugin passes unchanged to an update-capable upstream. If that upstream trusts CoreDNS's source address or connection and does not require an attacker-unknown end-to-end TSIG, the request appears to originate from CoreDNS and can add, replace, or delete DNS records, redirect traffic, take over names, alter mail routing, or disrupt the writable zone. This issue is fixed in version 1.14.7.
- CVE-2026-82399High
CoreDNS is a DNS server written in Go. Prior to 1.14.7, the DNS-over-HTTPS, DNS-over-HTTP/3, DNS-over-QUIC, and DNS-over-gRPC request paths in plugin/pkg/doh/doh.go, core/dnsserver/server_quic.go, and core/dnsserver/server_grpc.go call dns.Msg.Unpack on attacker-controlled DNS section counts before dns.DefaultMsgAcceptFunc validates the fixed header. An unauthenticated client can use DNS name compression and excessive section counts to amplify allocation before the plugin chain, so plugin-level rate limiting cannot prevent concurrent requests from exhausting memory and terminating CoreDNS. The ordinary UDP and TCP listeners are not affected because they validate the header first. This issue is fixed in version 1.14.7.
- CVE-2026-62994Low
In CoreDNS from version 1.9.4 to 1.14.5, a network DNS client requesting AXFR zone transfer can trigger a panic when configured with k8s_external headless-service zone transfers and a headless service endpoint with no declared ports. Fixed in version 1.14.5.
- CVE-2026-62309High
Vulnerability in CoreDNS before version 1.14.4 allows a single 28-byte UDP datagram to crash the process when the proxyproto plugin is enabled. The bug is in handling PROXY v2 headers with non-UDP transport.
- CVE-2026-33489High
CoreDNS versions prior to 1.14.3 have a vulnerability in the transfer plugin that can select the wrong ACL stanza when both a parent zone and a more-specific subzone are configured. The longestMatch() function in plugin/transfer/transfer.go uses a lexicographic string comparison instead of an actual longest-suffix match. As a result, a permissive parent-zone transfer rule can override a restrictive subzone rule depending on zone name ordering (e.g., "example.org." > "a.example.org." lexicographically). This allows an unauthorized remote client to perform AXFR/IXFR for the subzone and retrieve its full zone contents. This issue has been fixed in version 1.14.3.
- CVE-2026-33190High
CoreDNS before version 1.14.3 allows TSIG authentication bypass on non-plain-DNS transports (DoT, DoH, DoH3, DoQ, gRPC). The tsig plugin trusts the transport writer's TsigStatus(), which always returns nil for DoH/DoH3/DoQ/gRPC and does not set TsigSecret for DoT. This lets an unauthenticated client access resources protected by a tsig require all policy.
- CVE-2026-32936High
CoreDNS versions prior to 1.14.3 have a vulnerability that allows oversized dns= query parameter values in DoH GET requests, leading to expensive processing before rejecting the request. This issue has been fixed in version 1.14.3.
- CVE-2026-32934High
CoreDNS versions prior to 1.14.3 have a vulnerability that allows a remote client to cause unbounded goroutine and memory growth by opening many QUIC streams and sending only 1 byte per stream. This issue has been fixed in version 1.14.3.
Original NVD description (English source)
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.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

