GHSA-3cw6-2j68-868p
Envoy vulnerable to crash for scoped ip address during DNS
Packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| Go | github.com/envoyproxy/envoy | 1.37.0 | no fix listed |
| Go | github.com/envoyproxy/envoy | >= 1.36.0, <= 1.36.4 | no fix listed |
| Go | github.com/envoyproxy/envoy | >= 1.35.0, <= 1.35.8 | no fix listed |
| Go | github.com/envoyproxy/envoy | <= 1.34.12 | no fix listed |
Details
As written in the advisory (Markdown source, shown as plain text).
### Summary
Calling `Utility::getAddressWithPort` with a scoped IPv6 addresses causes a crash. This utility is called in the data plane from the original_src filter and the dns filter.
### Details
The crashing function is `Utility::getAddressWithPort`. The crash occurs if a string containing a scoped IPv6 address is passed to this function.
This vulnerability affects:
1. The **original src filter**: If the filter is configured and the original source is a scoped IPv6 address, it will cause a crash.
2. **DNS response address resolution**: If a DNS response contains a scoped IPv6 address, this will also trigger the crash.
### PoC
To reproduce the vulnerability:
1. **Method A (Original Src Filter):** Configure the `original src` filter in Envoy and provide a scoped IPv6 address as the original source.
2. **Method B (DNS Resolution):** Trigger a DNS resolution process within Envoy where the DNS response contains a scoped IPv6 address.
### Impact
This is a Denial of Service (DoS) vulnerability. It impacts users who have the `original src` filter configured or whose Envoy instances resolve addresses from DNS responses that may contain scoped IPv6 addresses.
References
External links from the advisory. They lead to third-party sites.