Description
CoreDNS is a DNS server written in Go. Prior to 1.14.4, a single 28-byte UDP datagram can crash the CoreDNS process when the proxyproto plugin is enabled because plugin/pkg/proxyproto/proxyproto.go PacketConn.ReadFrom handles a PROXY v2 header with non-UDP transport such as family byte 0x11, reassigns addr from a nil readFrom result after parseProxyProtocol errors, and calls addr.String() in the warning log before ServeDNS recovery applies. This issue is fixed in version 1.14.4.
Affected products
coredns.io: coredns
References4
- github.com/coredns/coredns/commit/60a439dd4febfcd78e3779e952fe3… Patch
- github.com/coredns/coredns/pull/8154 Issue TrackingPatch
- github.com/coredns/coredns/security/advisories/GHSA-9rvv-m5g5-w… ExploitThird Party Advisory
- github.com/coredns/coredns/releases/tag/v1.14.4 Release Notes
Metrics
- CVSS 3.1
-
7.5
HIGH
Score source: CNA
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - EPSS — exploit probability
- 1% percentile: 52 · as of 15 November 2026
- CWE
- CWE-476
Could this be exploited in your environment?
A patch closes the known hole. A penetration test shows what an attacker can still reach — with proof.