Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach CoreDNS DoH/DoQ/gRPC listener
-
DeliveryCraft DNS message with compression + huge section counts
-
ExploitServer Unpacks before header validation
-
ExecutionAmplified allocation bypasses plugin rate-limit
-
PersistConcurrent requests exhaust memory
-
ImpactCoreDNS process terminates (DNS outage)
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource allocation limits
MITRE ATT&CK
1 technique across 1 tactic: Impact The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitable only when CoreDNS (prior to 1.14.7) is configured to serve DNS over one of the alternative transports: DNS-over-HTTPS, DNS-over-HTTP/3, DNS-over-QUIC, or DNS-over-gRPC. Deployments using only the default UDP and TCP listeners are NOT affected because those paths validate the fixed DNS header before unpacking. No authentication or user interaction is required against a reachable vulnerable listener (PR:N/UI:N), and plugin-level rate limiting does not mitigate it because the amplified allocation occurs before the plugin chain. The primary limiting factor is therefore the non-default transport configuration and network reachability of that listener. |
| Impact | This is a genuine, well-substantiated availability issue rather than an inflated high-CVSS number. The vendor CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H, 7.5) is internally consistent with CWE-770 (uncontrolled resource allocation) and the description: an unauthenticated remote client triggers unbounded memory allocation because dns.Msg.Unpack runs on attacker-controlled section counts BEFORE dns.DefaultMsgAcceptFunc validates the fixed header, and this happens before the plugin chain so plugin-level rate limiting cannot mitigate it. No EPSS score, no CISA KEV listing, and no public POC were provided in the input, so exploitation probability signals are absent - no active exploitation or public exploit can be asserted. The most important nuance the raw 7.5 hides is a configuration gate: only the DNS-over-HTTPS, DNS-over-HTTP/3, DNS-over-QUIC, and DNS-over-gRPC listeners are vulnerable, while the default UDP and TCP listeners validate the header first and are explicitly unaffected. Impact is limited to availability (C:N/I:N) - a memory-exhaustion crash of the CoreDNS process, not code execution or data disclosure. Net: a real, patch-worthy DoS for operators who have enabled encrypted/alternative DNS transports, but lower real-world exposure than the network-unauthenticated 7.5 suggests because those transports are not CoreDNS's default configuration. |
| Exploit ScenarioDerived | An unauthenticated attacker sends crafted DoH/DoH3/DoQ/gRPC requests to a CoreDNS instance that exposes one of those encrypted transports, using DNS name compression and inflated section counts so each message forces large allocations before header validation. Firing many such requests concurrently exhausts process memory and terminates CoreDNS, denying DNS resolution to all downstream clients. No public POC is referenced in the provided data, though the fix commit and advisory make the mechanism reproducible. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 16, 2026
Memory-exhaustion denial of service in CoreDNS prior to 1.14.7 lets a remote unauthenticated attacker terminate the server by sending crafted queries over the DNS-over-HTTPS, DNS-over-HTTP/3, DNS-over-QUIC, or DNS-over-gRPC transports. Those request paths call dns.Msg.Unpack on attacker-controlled DNS section counts before dns.DefaultMsgAcceptFunc validates the fixed header, so name compression and excessive section counts amplify allocation ahead of the plugin chain, meaning plugin-level rate limiting cannot stop concurrent requests from exhausting memory. There is no public exploit identified at time of analysis, but the flaw is rated CVSS 3.1 7.5 (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H) and is only reachable when one of those non-default transports is enabled - deployments using only the ordinary UDP and TCP listeners are not affected.
RemediationAI
Vendor-released patch: 1.14.7 - upgrade CoreDNS to v1.14.7 or later, available at https://github.com/coredns/coredns/releases/tag/v1.14.7; the underlying change is commit 530b0a5ff2ad68cc0421f10dd93568945cc671c9 and the security advisory is https://github.com/coredns/coredns/security/advisories/GHSA-mrg3-qvqr-jw29. If immediate upgrade is not possible, the most effective compensating control is to disable the alternative transports entirely and serve only UDP/TCP - remove or comment out the tls://, https:// (DoH/DoH3), quic:// and grpc:// server blocks in the Corefile - with the trade-off that clients lose encrypted or multiplexed DNS transport and any DoH/DoQ-only resolvers must fall back to plain DNS. Alternatively, isolate the exposed DoH/DoQ/gRPC listener behind a reverse proxy or load balancer that enforces strict request-body size limits and per-connection concurrency caps, and cap QUIC stream counts, with the trade-off of added infrastructure complexity and the need to tune limits so legitimate large DNS responses are not truncated. Note that CoreDNS plugin-level rate limiting (for example the ratelimit or loadbalance plugins) does not mitigate this issue because the memory amplification happens before the plugin chain executes, and that the DoH path in the fixed version additionally bounds bodies with http.MaxBytesReader using maxDNSQuerySize - so any custom patch should replicate both the header-policy gate and the size cap, not just one of them.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in go, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
CoreDNS is a Go-based DNS server that uses the github.com/miekg/dns library; the flaw is classified CWE-770 (Allocation of Resources Without Limits or Throttling). Normal DNS message parsing in miekg/dns relies on the fixed 12-byte header, and the library's policy function dns.DefaultMsgAcceptFunc inspects that header (opcode, question count, etc.) to reject malformed or abusive requests before the body is decoded. In the affected DoH/DoH3/DoQ/DoG paths, however, the code performed new(dns.Msg) followed by msg.Unpack on the raw wire bytes directly, so the ANCount/NSCount/ARCount fields and compression pointers in the attacker-supplied payload drive slice and name decompression allocations before any policy check runs. The official fix introduces plugin/pkg/dnsutil/message.go with UnpackRequest(), which first decodes only dns.Header via binary.Decode and applies dns.DefaultMsgAcceptFunc, returning errRequestRejected for anything the default policy refuses (the accompanying test confirms multi-question messages are now rejected), and only then calls Unpack. The same commit changes core/dnsserver/server_grpc.go to msg, err := dnsutil.UnpackRequest(in.GetMsg()) and core/dnsserver/server_quic.go to req, err := dnsutil.UnpackRequest(buf), while plugin/pkg/doh/doh.go now reads the body through http.MaxBytesReader bounded by maxDNSQuerySize before unpacking, adding a size cap in addition to the header-policy gate.
Know when Coredns gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Unauthenticated remote requests to an exposed encrypted-DNS listener trigger memory exhaustion; availability-only impact, and the config prerequisite is a deployment gate not an attacker privilege, so PR:N/A:H stands.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
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.
Technical POC Analysis
CWE-770 (Allocation of Resources Without Limits or Throttling).
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Latest POC
1 PoC candidate from github (unverified)
Sign in to open the public PoC links collected for this CVE.
Executive ViewAI
A memory-exhaustion flaw in CoreDNS (CVE-2026-82399) lets an unauthenticated remote attacker crash DNS server instances, causing name-resolution outages for every application, cluster, and user that depends on them. Exposure is limited to environments that have enabled CoreDNS's optional DNS-over-HTTPS, DNS-over-HTTP/3, DNS-over-QUIC, or DNS-over-gRPC listeners; organizations running only the standard UDP and TCP DNS listeners are not affected. Because CoreDNS commonly underpins Kubernetes service discovery and internal DNS, a successful attack could disrupt a broad set of dependent services, and no vendor-released patch is identified at time of analysis.
No vendor-released patch identified at time of analysis. Interim mitigations: disable the DNS-over-HTTPS, DNS-over-HTTP/3, DNS-over-QUIC, and DNS-over-gRPC listeners and operate CoreDNS over UDP/TCP only, which removes the vulnerable code path entirely; where those transports must remain enabled, front them with an L7 proxy or load balancer that validates DNS header and section counts, cap concurrent connections and per-process memory via cgroups with restart watchdogs, restrict the listeners to trusted source networks, and monitor process memory for exhaustion patterns.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
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
Unauthenticated DNS UPDATE injection through CoreDNS's encrypted and gRPC listeners lets a remote client smuggle RFC 213
Remote denial of service in CoreDNS versions prior to 1.14.4 allows an unauthenticated attacker to crash the DNS server
A denial of service vulnerability in versions (CVSS 7.5). High severity vulnerability requiring prompt remediation. Vend
CoreDNS is a DNS server that chains plugins. Prior to version 1.14.0, multiple CoreDNS server implementations (gRPC, HTT
Nil pointer dereference in CoreDNS prior to 1.14.5 allows remote unauthenticated attackers to crash or degrade the DNS s
Unhandled Go runtime panic in CoreDNS 1.9.4 through 1.14.4 allows a network-reachable DNS client with AXFR permission to
EUVD-2026-80987
GHSA-mrg3-qvqr-jw29
NVD
CVE.org
EPSS
Exploit-DB