CVE-2025-47950

Name
CVE-2025-47950
Description
CoreDNS is a DNS server that chains plugins. In versions prior to 1.12.2, a Denial of Service (DoS) vulnerability exists in the CoreDNS DNS-over-QUIC (DoQ) server implementation. The server previously created a new goroutine for every incoming QUIC stream without imposing any limits on the number of concurrent streams or goroutines. A remote, unauthenticated attacker could open a large number of streams, leading to uncontrolled memory consumption and eventually causing an Out Of Memory (OOM) crash — especially in containerized or memory-constrained environments. The patch in version 1.12.2 introduces two key mitigation mechanisms: `max_streams`, which caps the number of concurrent QUIC streams per connection with a default value of `256`; and `worker_pool_size`, which Introduces a server-wide, bounded worker pool to process incoming streams with a default value of `1024`. This eliminates the 1:1 stream-to-goroutine model and ensures that CoreDNS remains resilient under high concurrency. Some workarounds are available for those who are unable to upgrade. Disable QUIC support by removing or commenting out the `quic://` block in the Corefile, use container runtime resource limits to detect and isolate excessive memory usage, and/or monitor QUIC connection patterns and alert on anomalies.
NVD Severity
unknown
Other trackers
Mailing lists
Exploits
Forges
GitHub (code, issues), Aports (code, issues)

References

Type URI
MISC https://datatracker.ietf.org/doc/html/rfc9250
MISC https://github.com/coredns/coredns/commit/efaed02c6a480ec147b1f799aab7cf815b17dfe1
CONFIRM https://github.com/coredns/coredns/security/advisories/GHSA-cvx7-x8pj-x2gw
MISC https://github.com/quic-go/quic-go
MISC https://www.usenix.org/conference/usenixsecurity23/presentation/botella

Match rules

CPE URI Source package Min version Max version
coredns >= 0 < 1.12.2
cpe:2.3:a:coredns.io:coredns:*:*:*:*:*:*:*:* coredns >= None < 1.12.2

Vulnerable and fixed packages

Source package Branch Version Maintainer Status
coredns edge-community 1.11.3-r0 Mark Pashmfouroush <mark@markpash.me> possibly vulnerable
coredns edge-community 1.12.0-r0 Mark Pashmfouroush <mark@markpash.me> possibly vulnerable
coredns edge-community 1.12.0-r1 Mark Pashmfouroush <mark@markpash.me> possibly vulnerable
coredns edge-community 1.12.0-r3 fossdd <fossdd@pwned.life> possibly vulnerable
coredns edge-community 1.12.0-r4 fossdd <fossdd@pwned.life> possibly vulnerable
coredns edge-community 1.12.0-r5 fossdd <fossdd@pwned.life> possibly vulnerable
coredns edge-community 1.12.1-r0 fossdd <fossdd@pwned.life> possibly vulnerable
coredns edge-community 1.12.1-r1 fossdd <fossdd@pwned.life> possibly vulnerable
coredns edge-community 1.12.1-r2 fossdd <fossdd@pwned.life> possibly vulnerable
coredns 3.22-community 1.11.3-r5 Mark Pashmfouroush <mark@markpash.me> possibly vulnerable
coredns 3.22-community 1.12.1-r3 fossdd <fossdd@pwned.life> possibly vulnerable
coredns 3.22-community 1.12.1-r4 fossdd <fossdd@pwned.life> possibly vulnerable
coredns 3.22-community 1.12.1-r5 fossdd <fossdd@pwned.life> possibly vulnerable