Skip to main content
← All vulnerabilities
CVE-2024-45810

Envoy crashes for LocalReply in http async client

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 1.28.7, 1.29.9, 1.30.6, 1.31.2
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: partial

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • envoyproxy envoy

    fixed in 1.28.7; From 1.29.0 · fixed in 1.29.9; From 1.30.0 · fixed in 1.30.6; From 1.31.0 · fixed in 1.31.2

References 1

GitHub · envoyproxy/envoy