Executive brief
Envoy is a high-performance service proxy used to manage and secure network traffic for cloud applications. A security flaw in its OAuth2 authentication component allows an attacker to bypass security protections by exploiting how the system handles encrypted login data. If successful, an attacker could intercept a user's session and gain unauthorized access to their account and sensitive data.
Technical details
The OAuth2 HTTP filter in Envoy uses AES-256-CBC for cookie encryption without an authentication tag (HMAC or AEAD). The `/callback` endpoint returns distinct HTTP status codes (302 for success vs. 401 for padding failure), creating a padding oracle. An attacker who intercepts a victim's 'CodeVerifier' cookie and authorization code can perform a padding oracle attack in approximately 6,200 requests to recover the plaintext PKCE code_verifier. This allows the attacker to exchange the stolen code for a valid access token. The fix involves migrating to AES-256-GCM and ensuring uniform error responses.
Affected products
- Envoy Proxy Envoy < 1.35.11, 1.36.0 to < 1.36.7, 1.37.0 to < 1.37.3, 1.38.0 to < 1.38.1
Timeline
- 2026-03-13: disclosed: Vulnerability discovered and verified with E2E exploit
- 2026-03-15: other: Reported to Envoy GitHub Security Advisory
- 2026-06-26: advisory: CVE-2026-47775 published