CVE-2026-47775
Received
Received - Intake
Padding Oracle in Envoy OAuth2 Filter
Publication date: 2026-06-26
Last updated on: 2026-06-26
Assigner: GitHub, Inc.
Description
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.
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| envoyproxy | envoy | to 1.35.11 (exc) |
| envoyproxy | envoy | to 1.36.7 (exc) |
| envoyproxy | envoy | to 1.37.3 (exc) |
| envoyproxy | envoy | to 1.38.1 (exc) |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-327 | The product uses a broken or risky cryptographic algorithm or protocol. |
| CWE-209 | The product generates an error message that includes sensitive information about its environment, users, or associated data. |