Vulnerability · Published Sep 19, 2024 · Assigned by GitHub_M
CVE-2024-45810Envoy crashes for LocalReply in http async client
Medium 6.5
In plain English
A medium-severity memory corruption in envoy from envoyproxy. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.6% (higher than 50% of all known vulnerabilities).
Official description
Envoy is a cloud-native high-performance edge/middle/service proxy. Envoy will crash when the http async client is handling `sendLocalReply` under some circumstance, e.g., websocket upgrade, and requests mirroring. The http async client will crash during the `sendLocalReply()` in http async client, one reason is http async client is duplicating the status code, another one is the destroy of router is called at the destructor of the async stream, while the stream is deferred deleted at first. There will be problems that the stream decoder is destroyed but its reference is called in `router.onDestroy()`, causing segment fault. This will impact ext_authz if the `upgrade` and `connection` header are allowed, and request mirrorring. This issue has been addressed in versions 1.31.2, 1.30.6, 1.29.9, and 1.28.7. Users are advised to upgrade. There are no known workarounds for this vulnerability.
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| envoyproxy | envoy | < 1.28.7>= 1.29.0, < 1.29.9>= 1.30.0, < 1.30.6>= 1.31.0, < 1.31.2 |
Weakness: CWE-119 · Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
References
- https://github.com/envoyproxy/envoy/security/advisories/GHSA-qm74-x36m-555q x_refsource_CONFIRM