CVE-2025-64763 — envoy
LOWCVE-2025-64763 is a low-severity (CVSS 3.7) CWE-693 vulnerability in github.com/envoyproxy/envoy. A fix is available for github.com/envoyproxy/envoy — see the affected versions and patch details below.
Envoy forwards early CONNECT data in TCP proxy mode
Exploitation Status
No confirmed exploitation observed yet
- CISA’s own triage has not observed active exploitation or public proof-of-concept code for this CVE as of its last assessment.
Exploitation and automatability from CISA’s SSVC triage for CVE-2025-64763.
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
How urgent is this, really
Where this sits among everything scored
Real-World Exposure
github.com/envoyproxy/envoy🐹github.com/envoyproxy/envoy🐹github.com/envoyproxy/envoy🐹github.com/envoyproxy/envoyReal-time download stats are indexed for npm and PyPI packages. This vulnerability affects Go packages — download data is not available via public APIs for these ecosystems.
Description
Summary
Forwarding of early CONNECT data in TCP proxy mode.
Details
Per RFC 7231-4.3.6 the sender of CONNECT (and all inbound proxies) switch to tunnel mode only after receiving 2xx response. However in TCP proxy mode, Envoy accepts client data before it has issued a 2xx response and eagerly proxies it to an established TCP connection. This creates possibility of a de-synchronized tunnel state if a proxy upstream from Envoy responds with a status other an 2xx.
The RFC does not specify the behavior in case an early CONNECT data is received and early CONNECT data is common as a latency reduction mechanism. To prevent disruption to existing deployments Envoy will by default allow early CONNECT data. Setting the envoy.reloadable_features.reject_early_connect_data runtime flag to true will cause CONNECT requests that send data before 2xx response to be rejected. This options should be enabled if there are intermediaries upstream from Envoy that may reject establishment of a CONNECT tunnel.
Impact
De-synchronization of CONNECT tunnel state if a forwarding proxy upstream from Envoy responds with a non 2xx status.
Attack vector(s)
Sending data for a CONNECT request before receiving 2xx response.
Patches
Users should upgrade to v1.36.3, v1.35.7, v1.34.11 or v1.33.13
Credits
chasingimpact (Patrick)
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 🐹Go | github.com/envoyproxy/envoy | ≥ 1.36.0&&< 1.36.3 | 1.36.3go get github.com/envoyproxy/envoy@v1.36.3 |
| 🐹Go | github.com/envoyproxy/envoy | ≥ 1.35.0&&< 1.35.7 | 1.35.7go get github.com/envoyproxy/envoy@v1.35.7 |
| 🐹Go | github.com/envoyproxy/envoy | ≥ 1.34.0&&< 1.34.11 | 1.34.11go get github.com/envoyproxy/envoy@v1.34.11 |
| 🐹Go | github.com/envoyproxy/envoy | all versions | 1.33.13go get github.com/envoyproxy/envoy@v1.33.13 |
Affected Products
envoyenvoyproxyDetection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for github.com/envoyproxy/envoy, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update github.com/envoyproxy/envoy to 1.36.3 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2025-64763 is resolved across your whole dependency graph.
Workarounds
If you can't upgrade right away: gate or disable the affected feature, validate untrusted input at the boundary, and avoid passing attacker-controlled data into the vulnerable path. O3's runtime protection blocks exploitation in production as an interim safeguard until the upgrade lands.
Fixing This On Your OS
If you run this on a Linux distribution, patch through your package manager against the distro's own security advisory below — it tracks the exact backported fix for your release, which can ship on a different timeline (and sometimes a different severity) than the upstream project.
This vulnerability is rated Moderate for Red Hat. Envoy, when operating in TCP proxy mode for CONNECT requests, forwards client data before a 2xx response. This can lead to a de-synchronized CONNECT tunnel state if an upstream proxy rejects the tunnel establishment. This behavior is enabled by default in affected…
To mitigate this issue, set the `envoy.reloadable_features.reject_early_connect_data` runtime flag to reject CONNECT requests that send data before a 2xx response. This configuration change may require a service reload or restart to take effect.Source: Red Hat security advisory for CVE-2025-64763 (CC BY 4.0)
Frequently Asked Questions
Is CVE-2025-64763 in your dependencies?
Find it across Go, including transitive dependencies.