CVE-2024-23322

7.5 HIGH

📋 TL;DR

Envoy proxy crashes when specific timeout configurations overlap, causing a denial of service. This affects Envoy deployments with hedge_on_per_try_timeout, per_try_idle_timeout, and per-try-timeout enabled with matching timeout values.

💻 Affected Systems

Products:
  • Envoy Proxy
Versions: All versions before 1.29.1, 1.28.1, 1.27.3, and 1.26.7
Operating Systems: All platforms running Envoy
Default Config Vulnerable: ✅ No
Notes: Only vulnerable when hedge_on_per_try_timeout, per_try_idle_timeout, and per-try-timeout are all enabled with specific timeout value relationships.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete service outage for all traffic passing through the affected Envoy proxy instance, requiring manual restart.

🟠

Likely Case

Intermittent crashes under specific timeout conditions, causing service disruption until automatic or manual recovery.

🟢

If Mitigated

No impact if configurations don't trigger the specific timeout overlap condition.

🌐 Internet-Facing: HIGH - Internet-facing Envoy proxies could be intentionally crashed by attackers sending requests that trigger the timeout conditions.
🏢 Internal Only: MEDIUM - Internal Envoy instances could still crash from legitimate traffic patterns, but less likely to be intentionally targeted.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ⚠️ Yes
Complexity: MEDIUM

Exploitation requires knowledge of specific timeout configurations and ability to send requests that trigger the conditions.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.29.1, 1.28.1, 1.27.3, or 1.26.7

Vendor Advisory: https://github.com/envoyproxy/envoy/security/advisories/GHSA-6p83-mfmh-qv38

Restart Required: Yes

Instructions:

1. Identify Envoy version currently running. 2. Upgrade to patched version (1.29.1, 1.28.1, 1.27.3, or 1.26.7). 3. Restart Envoy service. 4. Verify new version is running.

🔧 Temporary Workarounds

Disable vulnerable timeout configurations

all

Disable either hedge_on_per_try_timeout, per_try_idle_timeout, or per-try-timeout to prevent the crash condition

Modify Envoy configuration to remove or disable the vulnerable timeout settings

🧯 If You Can't Patch

  • Disable hedge_on_per_try_timeout in configuration
  • Ensure per_try_idle_timeout and per-try-timeout values differ significantly to avoid overlap

🔍 How to Verify

Check if Vulnerable:

Check Envoy configuration for hedge_on_per_try_timeout: true, per_try_idle_timeout enabled, and per-try-timeout enabled with values that could overlap

Check Version:

envoy --version

Verify Fix Applied:

Verify Envoy version is 1.29.1, 1.28.1, 1.27.3, or 1.26.7 using version check command

📡 Detection & Monitoring

Log Indicators:

  • Envoy crash logs
  • Segmentation fault errors
  • Process termination messages

Network Indicators:

  • Sudden loss of proxy connectivity
  • HTTP 503 errors from upstream services

SIEM Query:

source="envoy" AND ("segmentation fault" OR "crash" OR "terminated")

🔗 References

📤 Share & Export