Cloudanix VulnDB

CVE-2025-47950

High · 7.5

CoreDNS Vulnerable to DoQ Memory Exhaustion via Stream Amplification

CVSS

7.5

EPSS

1.2%

Published

Jun 6, 2025

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

Attackers can crash DNS servers by flooding them with too many simultaneous connections, causing outages until the servers are updated or restarted.

Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Trivial
Impact
Denial Of Service
Component
Network Service
Class
Denial of service
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The CoreDNS DNS-over-QUIC server spawns an unbounded goroutine per incoming stream with no concurrency limits, causing uncontrolled memory growth that leads to OOM crashes.

Why it matters to the business

Produces DNS service outages, especially in containerized or memory-constrained environments, resulting in application downtime and operational disruption across dependent systems.

How an attack unfolds

A remote unauthenticated attacker opens a large number of QUIC streams against the DoQ listener, exhausting memory until the process crashes; no named threat actors or ransomware campaigns are associated with this issue.

How to fix it

Upgrade ruby2.7 on Ubuntu 20.04 LTS to 2.7.0-5ubuntu1.12 and ruby2.3 on Ubuntu 16.04 Pro to 2.3.1-2~ubuntu16.04.16+esm8; apply the updates and restart affected services.

How to confirm the fix worked

Confirm installed package versions match the listed fixed releases and verify that stream or goroutine limits are now enforced under load testing.

Typical attack path

  1. Connect to the exposed DNS-over-QUIC endpoint
  2. Rapidly open thousands of concurrent streams
  3. Continue stream creation until memory exhaustion triggers OOM kill or crash

How to detect it

Review CoreDNS logs for sudden spikes in QUIC stream counts or goroutine creation, and monitor system logs for OOM killer events targeting the DNS process.

What your security team should do

  • Apply the published package updates without delay given the 507 days since disclosure
  • Restrict exposure of DoQ ports to trusted clients only
  • Implement container memory limits and monitoring to contain future DoS effects

The record

A **Denial of Service (DoS)** vulnerability was discovered 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.

Affected packages

Ecosystem Package Introduced Fixed
Go github.com/coredns/coredns 0 1.12.2
Chainguard cloudflared 0 0
Chainguard coredns 0 1.12.2-r0
Chainguard coredns-compat 0 1.12.2-r0
Chainguard coredns-fips 0 1.12.2-r0
Chainguard eks-distro-1.29 0 1.29.53-r1
Chainguard eks-distro-1.30 0 1.30.46-r1
Chainguard eks-distro-1.31 0 1.31.35-r1
Chainguard eks-distro-1.32 0 1.32.28-r1
Chainguard eks-distro-1.33 0 1.33.18-r1
Chainguard eks-distro-coredns-1.29 0 1.29.53-r1
Chainguard eks-distro-coredns-1.30 0 1.30.46-r1
Chainguard eks-distro-coredns-1.31 0 1.31.35-r1
Chainguard eks-distro-coredns-1.32 0 1.32.28-r1
Chainguard eks-distro-coredns-1.33 0 1.33.18-r1
Chainguard eks-distro-coredns-fips-1.29 0 1.29.53-r1
Chainguard eks-distro-coredns-fips-1.30 0 1.30.46-r1
Chainguard eks-distro-coredns-fips-1.31 0 1.31.35-r1
Chainguard eks-distro-coredns-fips-1.32 0 1.32.28-r1
Chainguard eks-distro-coredns-fips-1.33 0 1.33.18-r1
Chainguard eks-distro-fips-1.29 0 1.29.53-r1
Chainguard eks-distro-fips-1.30 0 1.30.46-r1
Chainguard eks-distro-fips-1.31 0 1.31.35-r1
Chainguard eks-distro-fips-1.32 0 1.32.28-r1
Chainguard eks-distro-fips-1.33 0 1.33.18-r1
Chainguard eks-distro-kube-apiserver-1.29 0 1.29.53-r1
Chainguard eks-distro-kube-apiserver-1.30 0 1.30.46-r1
Chainguard eks-distro-kube-apiserver-1.31 0 1.31.35-r1
Chainguard eks-distro-kube-apiserver-1.32 0 1.32.28-r1
Chainguard eks-distro-kube-apiserver-1.33 0 1.33.18-r1
Chainguard eks-distro-kube-apiserver-fips-1.29 0 1.29.53-r1
Chainguard eks-distro-kube-apiserver-fips-1.30 0 1.30.46-r1
Chainguard eks-distro-kube-apiserver-fips-1.31 0 1.31.35-r1
Chainguard eks-distro-kube-apiserver-fips-1.32 0 1.32.28-r1
Chainguard eks-distro-kube-apiserver-fips-1.33 0 1.33.18-r1
Chainguard eks-distro-kube-controller-manager-1.29 0 1.29.53-r1
Chainguard eks-distro-kube-controller-manager-1.30 0 1.30.46-r1
Chainguard eks-distro-kube-controller-manager-1.31 0 1.31.35-r1
Chainguard eks-distro-kube-controller-manager-1.32 0 1.32.28-r1
Chainguard eks-distro-kube-controller-manager-1.33 0 1.33.18-r1
Chainguard eks-distro-kube-controller-manager-fips-1.29 0 1.29.53-r1
Chainguard eks-distro-kube-controller-manager-fips-1.30 0 1.30.46-r1
Chainguard eks-distro-kube-controller-manager-fips-1.31 0 1.31.35-r1
Chainguard eks-distro-kube-controller-manager-fips-1.32 0 1.32.28-r0
Chainguard eks-distro-kube-controller-manager-fips-1.33 0 1.33.18-r1
Chainguard eks-distro-kube-proxy-1.29 0 1.29.53-r1
Chainguard eks-distro-kube-proxy-1.30 0 1.30.46-r1
Chainguard eks-distro-kube-proxy-1.31 0 1.31.35-r1
Chainguard eks-distro-kube-proxy-1.32 0 1.32.28-r1
Chainguard eks-distro-kube-proxy-1.33 0 1.33.18-r0
Chainguard eks-distro-kube-proxy-fips-1.29 0 1.29.53-r1
Chainguard eks-distro-kube-proxy-fips-1.30 0 1.30.46-r1
Chainguard eks-distro-kube-proxy-fips-1.31 0 1.31.35-r1
Chainguard eks-distro-kube-proxy-fips-1.32 0 1.32.28-r0
Chainguard eks-distro-kube-proxy-fips-1.33 0 1.33.18-r1
Chainguard eks-distro-kube-scheduler-1.29 0 1.29.53-r1
Chainguard eks-distro-kube-scheduler-1.30 0 1.30.46-r1
Chainguard eks-distro-kube-scheduler-1.31 0 1.31.35-r1
Chainguard eks-distro-kube-scheduler-1.32 0 1.32.28-r1
Chainguard eks-distro-kube-scheduler-1.33 0 1.33.18-r0
Chainguard eks-distro-kube-scheduler-fips-1.29 0 1.29.53-r1
Chainguard eks-distro-kube-scheduler-fips-1.30 0 1.30.46-r1
Chainguard eks-distro-kube-scheduler-fips-1.31 0 1.31.35-r1
Chainguard eks-distro-kube-scheduler-fips-1.32 0 1.32.28-r1
Chainguard eks-distro-kube-scheduler-fips-1.33 0 1.33.18-r1
Chainguard eks-distro-kubernetes-pause-1.29 0 1.29.53-r1
Chainguard eks-distro-kubernetes-pause-1.30 0 1.30.46-r0
Chainguard eks-distro-kubernetes-pause-1.31 0 1.31.35-r1
Chainguard eks-distro-kubernetes-pause-1.32 0 1.32.28-r1
Chainguard eks-distro-kubernetes-pause-1.33 0 1.33.18-r1
Chainguard juicefs-1.2 0 1.2.4-r1
Chainguard juicefs-1.2-compat 0 1.2.4-r1
Chainguard juicefs-1.3 0 1.3.0-r2
Chainguard juicefs-1.3-compat 0 1.3.0-r2
Chainguard kubernetes-dns-node-cache 0 1.26.7-r0
Chainguard kubernetes-dns-node-cache-fips 0 1.26.7-r1
Chainguard kuma-coredns 0 1.12.2-r0
Wolfi cloudflared 0 0
Wolfi coredns 0 1.12.2-r0
Wolfi coredns-compat 0 1.12.2-r0
Wolfi juicefs-1.3 0 1.3.0-r2
Wolfi juicefs-1.3-compat 0 1.3.0-r2
Wolfi kubernetes-dns-node-cache 0 1.26.7-r0
Wolfi kuma-coredns 0 1.12.2-r0
openSUSE:Tumbleweed govulncheck-vulndb 0 0.0.20250612T141001-1.1

Related vulnerabilities