5.3 MEDIUM
- CVSS version (CVSS): 3.1
- Attack Vector (AV): Network (N)
- Attack Complexity (AC): Low (L)
- Privileges Required (PR): None (N)
- User Interaction (UI): None (N)
- Scope (S): Unchanged (U)
- Confidentiality (C): None (N)
- Integrity (I): None (N)
- Availability (A): Low (L)
- Modified Attack Vector (MAV): Network (N)
- Modified Attack Complexity (MAC): Low (L)
- Modified Privileges Required (MPR): None (N)
- Modified User Interaction (MUI): None (N)
- Modified Confidentiality (MC): None (N)
- Modified Scope (MS): Unchanged (U)
- Modified Integrity (MI): None (N)
- Modified Availability (MA): Low (L)
by @LeSuisse Activity log
- Created suggestion
- @LeSuisse accepted
- @LeSuisse published on GitHub
CoreDNS: rewrite-plugin EDNS0 response-revert nil-pointer panic (remote DoS) when a downstream plugin returns a response with no OPT record
CoreDNS is a DNS server written in Go. Prior to 1.14.5, the CoreDNS rewrite plugin supports edns0 rewrite rules with an optional revert flag, and two response rules, edns0SetResponseRule and edns0ReplaceResponseRule[T] in plugin/rewrite/edns0.go, call res.IsEdns0() and immediately dereference the returned *dns.OPT without a nil check when a downstream plugin returns a response with no OPT record. A remote, unauthenticated client can send a single ordinary DNS query matching a rewrite edns0 <local|nsid|subnet> <set|append|replace> ... revert rule, causing ResponseReverter in plugin/rewrite/reverter.go to panic, return SERVFAIL, and degrade availability, or crash the CoreDNS process if the debug directive disables recovery. This issue is fixed in version 1.14.5.
References
-
https://github.com/coredns/coredns/security/advisories/GHSA-9pmm-cxww-rrr7 x_refsource_CONFIRM
-
https://github.com/coredns/coredns/pull/8190 x_refsource_MISC
-
https://github.com/coredns/coredns/releases/tag/v1.14.5 x_refsource_MISC
Affected products
- ==< 1.14.5
Package maintainers
-
@rushmorem Rushmore Mushambi <rushmore@webenchanter.com>
-
@rtreffer Rene Treffer <treffer+nixos@measite.de>
-
@djds djds <git@djds.dev>
-
@johanot Johan Thomsen <write@ownrisk.dk>
-
@DeltaEvo Duarte David <deltaduartedavid@gmail.com>
3.7 LOW
- CVSS version (CVSS): 3.1
- Attack Vector (AV): Network (N)
- Attack Complexity (AC): High (H)
- Privileges Required (PR): None (N)
- User Interaction (UI): None (N)
- Scope (S): Unchanged (U)
- Confidentiality (C): None (N)
- Integrity (I): None (N)
- Availability (A): Low (L)
- Modified Attack Vector (MAV): Network (N)
- Modified Attack Complexity (MAC): High (H)
- Modified Privileges Required (MPR): None (N)
- Modified User Interaction (MUI): None (N)
- Modified Confidentiality (MC): None (N)
- Modified Scope (MS): Unchanged (U)
- Modified Integrity (MI): None (N)
- Modified Availability (MA): Low (L)
by @LeSuisse Activity log
- Created suggestion
- @LeSuisse accepted
- @LeSuisse published on GitHub
CoreDNS `k8s_external` headless AXFR can emit an empty transfer batch that panics the `transfer` plugin
CoreDNS is a DNS server written in Go. From 1.9.4 until 1.14.5, a network DNS client allowed to request AXFR for a CoreDNS zone can trigger a panic when CoreDNS is configured with k8s_external headless-service zone transfers and Kubernetes contains a headless service endpoint with no declared ports; plugin/kubernetes/object/endpoint.go creates Port: -1, plugin/k8s_external/msg_to_dns.go skips that service, plugin/k8s_external/transfer.go sends an empty []dns.RR batch, and plugin/transfer/transfer.go indexes records[0] without checking the batch is non-empty. This issue is fixed in version 1.14.5.
References
-
https://github.com/coredns/coredns/security/advisories/GHSA-74w3-63xv-x9mv x_refsource_CONFIRM
-
https://github.com/coredns/coredns/pull/8207 x_refsource_MISC
-
https://github.com/coredns/coredns/releases/tag/v1.14.5 x_refsource_MISC
Affected products
- ==>= 1.9.4, < 1.14.5
Package maintainers
-
@rushmorem Rushmore Mushambi <rushmore@webenchanter.com>
-
@rtreffer Rene Treffer <treffer+nixos@measite.de>
-
@djds djds <git@djds.dev>
-
@johanot Johan Thomsen <write@ownrisk.dk>
-
@DeltaEvo Duarte David <deltaduartedavid@gmail.com>
7.5 HIGH
- CVSS version (CVSS): 3.1
- Attack Vector (AV): Network (N)
- Attack Complexity (AC): Low (L)
- Privileges Required (PR): None (N)
- User Interaction (UI): None (N)
- Scope (S): Unchanged (U)
- Confidentiality (C): None (N)
- Integrity (I): None (N)
- Availability (A): High (H)
- Modified Attack Vector (MAV): Network (N)
- Modified Attack Complexity (MAC): Low (L)
- Modified Privileges Required (MPR): None (N)
- Modified User Interaction (MUI): None (N)
- Modified Confidentiality (MC): None (N)
- Modified Scope (MS): Unchanged (U)
- Modified Integrity (MI): None (N)
- Modified Availability (MA): High (H)
by @LeSuisse Activity log
- Created suggestion
- @LeSuisse accepted
- @LeSuisse published on GitHub
CoreDNS: proxyproto plugin panics on PPv2 datagram with non-UDP transport — single 28-byte packet remote DoS
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.
References
-
https://github.com/coredns/coredns/security/advisories/GHSA-9rvv-m5g5-wc8r x_refsource_CONFIRM
-
https://github.com/coredns/coredns/pull/8154 x_refsource_MISC
-
https://github.com/coredns/coredns/releases/tag/v1.14.4 x_refsource_MISC
Affected products
- ==< 1.14.4
Package maintainers
-
@rushmorem Rushmore Mushambi <rushmore@webenchanter.com>
-
@rtreffer Rene Treffer <treffer+nixos@measite.de>
-
@djds djds <git@djds.dev>
-
@johanot Johan Thomsen <write@ownrisk.dk>
-
@DeltaEvo Duarte David <deltaduartedavid@gmail.com>