{"id":"GHSA-g9vw-6pvx-7gmw","summary":"Envoy: Race condition in Dynamic Forward Proxy leads to use-after-free and segmentation faults","details":"### Summary\n\nA use-after-free (UAF) vulnerability in Envoy's DNS cache causes abnormal process termination. Envoy may reallocate memory when processing a pending DNS resolution, causing list iterator to reference freed memory.\n\n### Details\n\nThe vulnerability exists in Envoy's Dynamic Forward Proxy implementation starting from version v1.34.0. The issue occurs when a completion callback for a DNS resolution triggers new DNS resolutions or removes existing pending resolutions. This condition may occur in the following configuration:\n\n1. Dynamic Forwarding Filter is enabled.\n2. `envoy.reloadable_features.dfp_cluster_resolves_hosts` runtime flag is enabled.\n3. The Host header is modified between the Dynamic Forwarding Filter and Router filters.\n\n### Impact\n\nDenial of service due to abnormal process termination.\n\n### Attack vector(s)\nRequest to Envoy configured as indicated above.\n\n### Patches\nUsers should upgrade to v1.35.1 or v1.34.5. \n\n### Workaround\nSet the `envoy.reloadable_features.dfp_cluster_resolves_hosts` runtime flag to `false`.\n\n### Detection\nAbnormal process termination with the `Envoy::Event::DispatcherImpl::runPostCallbacks()` frame in the call stack.\n\n### Credits\nRohit Agrawal ([agrawroh](https://github.com/agrawroh)) ([rohit.agrawal@databricks.com](mailto:rohit.agrawal@databricks.com))","aliases":["BIT-envoy-2025-54588","CVE-2025-54588"],"modified":"2025-09-15T16:46:37Z","published":"2025-09-15T16:46:37Z","database_specific":{"nvd_published_at":"2025-09-03T00:15:30Z","cwe_ids":["CWE-416"],"severity":"HIGH","github_reviewed":true,"github_reviewed_at":"2025-09-15T16:46:37Z"},"references":[{"type":"WEB","url":"https://github.com/envoyproxy/envoy/security/advisories/GHSA-g9vw-6pvx-7gmw"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2025-54588"},{"type":"PACKAGE","url":"https://github.com/envoyproxy/envoy"},{"type":"WEB","url":"https://github.com/envoyproxy/envoy/releases/tag/v1.34.5"},{"type":"WEB","url":"https://github.com/envoyproxy/envoy/releases/tag/v1.35.1"}],"affected":[{"package":{"name":"github.com/envoyproxy/envoy","ecosystem":"Go","purl":"pkg:golang/github.com/envoyproxy/envoy"},"ranges":[{"type":"SEMVER","events":[{"introduced":"1.35.0"},{"fixed":"1.35.1"}]}],"versions":["1.35.0"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/09/GHSA-g9vw-6pvx-7gmw/GHSA-g9vw-6pvx-7gmw.json"}},{"package":{"name":"github.com/envoyproxy/envoy","ecosystem":"Go","purl":"pkg:golang/github.com/envoyproxy/envoy"},"ranges":[{"type":"SEMVER","events":[{"introduced":"1.34.0"},{"fixed":"1.34.5"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/09/GHSA-g9vw-6pvx-7gmw/GHSA-g9vw-6pvx-7gmw.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}]}