CoreDNS TSIG authentication bypass on gRPC, QUIC, DoH, and DoH3 transports
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- Present
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- High · None · None
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA, GitHub and Red Hat. Impact type from CWE-287.
Summary
CoreDNS is a DNS server written in Go. In versions prior to 1.14.3, the gRPC, QUIC, DoH, and DoH3 transport implementations incorrectly handle TSIG authentication. For gRPC and QUIC, the server checks whether the TSIG key name exists in the configuration but never calls dns.TsigVerify() to validate the HMAC. If the key name matches a configured key, the tsigStatus field remains nil and the tsig plugin treats the request as successfully authenticated regardless of the MAC value. For DoH and DoH3, the issue is more severe: the DoHWriter.TsigStatus() method unconditionally returns nil, and the server never inspects the TSIG record at all. Any request containing a TSIG record is treated as authenticated over DoH and DoH3, even if the key name is invalid and the MAC is arbitrary. An unauthenticated network attacker can exploit this to bypass TSIG-protected functionality such as AXFR/IXFR zone transfers, dynamic DNS updates, or other TSIG-gated plugin behavior. The DoH and DoH3 variants have a lower exploitation bar because the attacker does not need to know a valid TSIG key name. This issue has been fixed in version 1.14.3. As a workaround, disable gRPC, QUIC, DoH, and DoH3 listeners where TSIG authentication is required, or restrict network-level access to affected transport ports to trusted sources only.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| coredns | coredns | before 1.14.3 | 1.14.3 | Patch available | CNA |
| — | github.com/coredns/coredns (Go) | before 1.14.3 | 1.14.3 | Patch available | GHSA-vp29-5652-4fw9 |
- coredns Vendorcoredns Affected before 1.14.3 Fixed in 1.14.3 Patch available CNA
- github.com/coredns/coredns (Go) Vendor— Affected before 1.14.3 Fixed in 1.14.3 Patch available GHSA-vp29-5652-4fw9
Remediation
- Fix · CNA coredns (coredns) Fixed in 1.14.3
- Fix · GHSA-vp29-5652-4fw9 github.com/coredns/coredns (Go) Fixed in 1.14.3 Advisory →
Red Hat 2 advisories
- RHSA-2026:85227 Released 2026-10-19 · Red Hat rating ImportantSubmariner v0.23 security fixes and container updates
- Red Hat Advanced Cluster Management for Kubernetes 2.16 registry.redhat.io/rhacm2/lighthouse-agent-rhel9, registry.redhat.io/rhacm2/lighthouse-coredns-rhel9, registry.redhat.io/rhacm2/subctl-rhel9 +4
- RHSA-2026:25127 Released 2026-06-10 · Red Hat rating ImportantSubmariner v0.21 security fixes and container updates
- Red Hat Advanced Cluster Management for Kubernetes 2.14 registry.redhat.io/rhacm2/lighthouse-agent-rhel9, registry.redhat.io/rhacm2/lighthouse-coredns-rhel9, registry.redhat.io/rhacm2/nettest-rhel9 +5
Vendor assessments
Red Hat
Red Hat rating: Important. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Advanced Cluster Management for Kubernetes 2.14 | Fixed | RHSA-2026:25127 |
| Red Hat Advanced Cluster Management for Kubernetes 2.16 | Fixed | RHSA-2026:85227 |
Not affected: 4 products
- Red Hat Advanced Cluster Management for Kubernetes 2
- Red Hat Advanced Cluster Management for Kubernetes 2.14
- Red Hat Advanced Cluster Management for Kubernetes 2.16
- Red Hat OpenShift Container Platform 4
Timeline
- 2026-10-02 Threatist record created from CVE-2026-35579
- 2026-10-03 Alias added: GHSA-vp29-5652-4fw9
- 2026-10-20 Fix available: RHSA-2026:85227 · Red Hat
- 2026-10-20 Fix available: Red Hat Advanced Cluster Management for Kubernetes 2.16 · Red Hat
- 2026-10-25 EPSS moved to the below the 50th percentile
References
More Coredns vulnerabilities
- TI-2026-25615 CoreDNS TSIG authentication bypass on encrypted DNS transports CVSS 4.0HIGH 8.7
- TI-2026-25384 CoreDNS DoH GET path missing size validation causes CPU and memory amplification CVSS 4.0HIGH 8.7
- TI-2026-25382 CoreDNS DNS-over-QUIC unbounded goroutine growth leads to denial of service CVSS 4.0HIGH 8.7
- TI-2026-25885 CoreDNS transfer plugin subzone ACL bypass via lexicographic zone comparison CVSS 4.0HIGH 8.2
- TI-2026-44486 NULL pointer dereference in coredns CVSS 3.1MEDIUM 5.3
- TI-2026-44995 CoreDNS `k8s_external` headless AXFR can emit an empty transfer batch that panics the `transfer` plugin CVSS 3.1LOW 3.7
Sources
- CVE-2026-35579 · CVE Program
- CVE-2026-35579 · NVD
- FIRST EPSS
- GHSA-vp29-5652-4fw9 · GitHub Advisory Database · CC BY 4.0
- CVE-2026-35579 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences