CVE-2026-47775 Envoy OAuth2 Filter: Padding Oracle via AES-256-CBC Cookie Decryption
Attackers can exploit a padding oracle in Envoy's OAuth2 filter to recover PKCE code verifiers and steal user access tokens.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2026-47775?
CVE-2026-47775 is a medium-severity vulnerability in Envoyproxy Envoy, published on 26 Jun 2026. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.
Official description
Envoy is an open source edge and service proxy designed for cloud-native applications. Prior to 1.35.11, 1.36.7, 1.37.3, and 1.38.1, the OAuth2 HTTP filter's encrypt()/decrypt() functions use AES-256-CBC without an authentication tag (no HMAC, no AEAD). The /callback endpoint returns HTTP 302 on successful decryption and HTTP 401 on padding failure, creating a padding oracle. An attacker who obtains the encrypted CodeVerifier cookie can recover the plaintext PKCE code_verifier in ~6,200 requests (~100 seconds), then exchange it with a stolen authorization code to obtain the victim's access token. This vulnerability is fixed in 1.35.11, 1.36.7, 1.37.3, and 1.38.1.
Which versions are affected by CVE-2026-47775?
1 open source package ship an affected version, including envoy. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
envoy Bitnami | All versions | 1.35.11, 1.36.7, 1.37.3, 1.38.1 |
Products include Envoyproxy Envoy.
How do I fix CVE-2026-47775?
Upgrade envoy to a fixed version for your release line: 1.35.11, 1.36.7, 1.37.3 or 1.38.1.
Is CVE-2026-47775 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-47775 exists.
Other vulnerabilities in Envoyproxy Envoy
Sources
Also known as BIT-envoy-2026-47775, GHSA-396h-jpq4-vc7p.