GHSA-3cw6-2j68-868p
Envoy vulnerable to crash for scoped ip address during DNS
Details
### 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.
Are you affected?
Enter the version of the package you're using.
Affected packages
No fixed version published yet for github.com/envoyproxy/envoy (go modules). Pin to a known-safe version or switch to an alternative.
1.36.0No fixed version published yet for github.com/envoyproxy/envoy (go modules). Pin to a known-safe version or switch to an alternative.
1.35.0No fixed version published yet for github.com/envoyproxy/envoy (go modules). Pin to a known-safe version or switch to an alternative.
0No fixed version published yet for github.com/envoyproxy/envoy (go modules). Pin to a known-safe version or switch to an alternative.