CVE-2022-29228
📋 TL;DR
This vulnerability in Envoy's OAuth filter allows memory corruption or crashes when the filter incorrectly continues processing after sending a local response. It affects all Envoy deployments using the OAuth filter in versions before 1.22.1. The issue can lead to denial of service or potentially arbitrary code execution.
💻 Affected Systems
- Envoy Proxy
📦 What is this software?
Envoy by Envoyproxy
⚠️ Risk & Real-World Impact
Worst Case
Memory corruption could lead to remote code execution, allowing attackers to take control of the Envoy proxy instance.
Likely Case
Denial of service through Envoy process crashes or instability, disrupting proxy services.
If Mitigated
If OAuth filter is not used or proper network segmentation exists, impact is limited to potential service disruption.
🎯 Exploit Status
Exploitation requires sending requests that trigger OAuth filter responses, but no public exploit code is known.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 1.22.1 and later
Vendor Advisory: https://github.com/envoyproxy/envoy/security/advisories/GHSA-rww6-8h7g-8jf6
Restart Required: Yes
Instructions:
1. Upgrade Envoy to version 1.22.1 or later. 2. Replace the Envoy binary with the patched version. 3. Restart Envoy service to apply the fix.
🔧 Temporary Workarounds
Disable OAuth Filter
allRemove or disable the OAuth filter from Envoy configurations if not required.
Edit Envoy configuration YAML to remove OAuth filter from HTTP filter chains
🧯 If You Can't Patch
- Implement network segmentation to restrict access to Envoy instances
- Monitor for crashes or abnormal behavior in Envoy processes
🔍 How to Verify
Check if Vulnerable:
Check Envoy version and verify if OAuth filter is configured in the filter chain.
Check Version:
envoy --version
Verify Fix Applied:
Verify Envoy version is 1.22.1 or later and confirm OAuth filter behavior is corrected.
📡 Detection & Monitoring
Log Indicators:
- Envoy process crashes
- ASSERT() failures in logs
- Memory corruption errors
Network Indicators:
- Unusual OAuth-related request patterns
- Increased 5xx errors from Envoy
SIEM Query:
source="envoy" AND ("ASSERT" OR "crash" OR "memory corruption")
🔗 References
- https://github.com/envoyproxy/envoy/commit/7ffda4e809dec74449ebc330cebb9d2f4ab61360
- https://github.com/envoyproxy/envoy/security/advisories/GHSA-rww6-8h7g-8jf6
- https://github.com/envoyproxy/envoy/commit/7ffda4e809dec74449ebc330cebb9d2f4ab61360
- https://github.com/envoyproxy/envoy/security/advisories/GHSA-rww6-8h7g-8jf6