GitHub Advisoryadvisory · Go
GHSA-cf3q-gqg7-3fm9 Envoy crashes when HTTP ext_proc processes local replies
MEDIUM
Official page ↗
- Aliases
- CVE-2025-30157
- Ecosystem
- Go
- Packages
- github.com/envoyproxy/envoy
- Severity
- Moderate
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
- Weaknesses
- CWE-460
- Reviewed
- 2025-03-21
Affected packages
• Go github.com/envoyproxy/envoy: < 1.30.10 → fixed in 1.30.10
• Go github.com/envoyproxy/envoy: >= 1.31.0, < 1.31.6 → fixed in 1.31.6
• Go github.com/envoyproxy/envoy: >= 1.32.0, < 1.32.4 → fixed in 1.32.4
• Go github.com/envoyproxy/envoy: >= 1.33.0, < 1.33.1 → fixed in 1.33.1
Description
Summary
Envoy's ext_proc HTTP filter is at risk of crashing if a local reply is sent to the external server due to the filter's life time issue. A known situation is the fail of a websocket handshake will trigger a local reply leading to the crash of Envoy.
PoC
If both websocket and ext_proc are enabled, a failed handshake will trigger a local reply, thus ext_proc will crash.
Mitigation
1. Disable websocket traffic
2. Change the websocket response from backend to always return `101 Switch protocol` based on RFC.
3. Apply the patch and the ext_proc filter will not send the local reply that is generated by Envoy to the ext_proc server for processing.
4. Apply the patch that the router will cancel the upstream requests when sending a local reply.
Impact
Denial of service
Reporter
Vasilios Syrakis
Fernando Cainelli
Related
Alias · CVE (1)
- CVE-2025-30157 Envoy is a cloud-native high-performance edge/middle/service proxy. vulnerability
Weakness · CWE (1)
- CWE-460 Improper Cleanup on Thrown Exception weakness