Read the docs
TI-2026-35270 Aliases CVE-2026-47775

Envoy OAuth2 Filter: Padding Oracle via AES-256-CBC Cookie Decryption

Priority HIGH 65CWE-209Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
Required
Attack complexity
High
Impact type
Information disclosure
Confidentiality · integrity · availability
High · High · None
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-209.

Summary

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.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00219 12th percentileScored 2026-11-07
Public exploit Yes 1 exploit referenceTagged by NVD
Fix Fixed envoy (envoyproxy): 1.38.1, 1.37.3, 1.36.7 +1

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
No
Technical impact
Total

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
envoyproxyenvoy1.38.0 to before 1.38.1; 1.37.0 to before 1.37.3; 1.36.0 to before 1.36.7; before 1.35.111.38.1, 1.37.3, 1.36.7, 1.35.11Patch availableCNA
  • envoy Vendorenvoyproxy Affected 1.38.0 to before 1.38.1; 1.37.0 to before 1.37.3; 1.36.0 to before 1.36.7; before 1.35.11 Fixed in 1.38.1, 1.37.3, 1.36.7, 1.35.11 Patch available CNA

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:envoyproxy:envoy:*:*:*:*:*:*:*:*1.35.0 to before 1.35.11; 1.36.0 to before 1.36.7; 1.37.0 to before 1.37.3; 1.38.0 to before 1.38.1Vulnerableenvoyproxy
  • cpe:2.3:a:envoyproxy:envoy:*:*:*:*:*:*:*:* Versions 1.35.0 to before 1.35.11; 1.36.0 to before 1.36.7; 1.37.0 to before 1.37.3; 1.38.0 to before 1.38.1 Vulnerable ·envoyproxy

Remediation

  • Fix · CNA envoy (envoyproxy) Fixed in 1.38.1, 1.37.3, 1.36.7, 1.35.11

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-47775

References

  • TI-2026-79288 Out-of-bounds write in Google Brotli decoder KEVCVSS 4.0CRITICAL 9.2
  • TI-2023-23979 The HTTP/2 protocol allows a denial of service (server resource consumption) because… KEVCVSS 3.1HIGH 7.5
  • TI-2024-20001 HTTP/2: CPU exhaustion due to CONTINUATION frame flood CVSS 3.1HIGH 7.5
  • TI-2024-18524 HTTP/2: memory exhaustion due to CONTINUATION frame flood CVSS 3.1HIGH 7.5
  • TI-2023-12215 Envoy client may fake the header `x-envoy-original-path` CVSS 3.1CRITICAL 9.1
  • TI-2023-18002 Envoy vulnerable to OAuth2 credentials exploit with permanent validity CVSS 3.1CRITICAL 9.8
See all 126 →

Sources

This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences