← Back to CVE Explorer

CVE-2026-47775

Full vulnerability record from the local CVENow database.

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.

Severity
MEDIUM
CVSS score
6.8 (v3.1)
Vulnerability status
Analyzed
Source identifier
Published
2026-06-26 18:16:59.350000
Last modified
2026-10-25 17:10:00.197000
View original CVE JSON
{
  "id": "CVE-2026-47775",
  "sourceIdentifier": "[email protected]",
  "published": "2026-06-26T18:16:59.350",
  "lastModified": "2026-10-25T17:10:00.197",
  "vulnStatus": "Analyzed",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "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."
    },
    {
      "lang": "es",
      "value": "Envoy es un proxy de borde y de servicio de código abierto diseñado para aplicaciones nativas de la nube. Antes de 1.35.11, 1.36.7, 1.37.3 y 1.38.1, las funciones encrypt()/decrypt() del filtro HTTP de OAuth2 utilizan AES-256-CBC sin una etiqueta de autenticación (sin HMAC, sin AEAD). El endpoint /callback devuelve HTTP 302 en caso de descifrado exitoso y HTTP 401 en caso de fallo de relleno, creando un oráculo de relleno. Un atacante que obtiene la cookie CodeVerifier cifrada puede recuperar el code_verifier PKCE en texto plano en ~6.200 solicitudes (~100 segundos), luego intercambiarlo con un código de autorización robado para obtener el token de acceso de la víctima. Esta vulnerabilidad está corregida en 1.35.11, 1.36.7, 1.37.3 y 1.38.1."
    }
  ],
  "affected": [
    {
      "source": "[email protected]",
      "affectedData": [
        {
          "vendor": "envoyproxy",
          "product": "envoy",
          "versions": [
            {
              "version": ">= 1.38.0, < 1.38.1",
              "status": "affected"
            },
            {
              "version": ">= 1.37.0, < 1.37.3",
              "status": "affected"
            },
            {
              "version": ">= 1.36.0, < 1.36.7",
              "status": "affected"
            },
            {
              "version": "< 1.35.11",
              "status": "affected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {
    "cvssMetricV31": [
      {
        "source": "[email protected]",
        "type": "Secondary",
        "cvssData": {
          "version": "3.1",
          "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N",
          "baseScore": 6.8,
          "baseSeverity": "MEDIUM",
          "attackVector": "NETWORK",
          "attackComplexity": "HIGH",
          "privilegesRequired": "NONE",
          "userInteraction": "REQUIRED",
          "scope": "UNCHANGED",
          "confidentialityImpact": "HIGH",
          "integrityImpact": "HIGH",
          "availabilityImpact": "NONE"
        },
        "exploitabilityScore": 1.6,
        "impactScore": 5.2
      }
    ],
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "timestamp": "2026-06-29T15:05:22.645121Z",
          "id": "CVE-2026-47775",
          "options": [
            {
              "exploitation": "poc"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "total"
            }
          ],
          "role": "CISA Coordinator",
          "version": "2.0.3"
        }
      }
    ]
  },
  "weaknesses": [
    {
      "source": "[email protected]",
      "type": "Secondary",
      "description": [
        {
          "lang": "en",
          "value": "CWE-209"
        },
        {
          "lang": "en",
          "value": "CWE-327"
        }
      ]
    }
  ],
  "configurations": [
    {
      "nodes": [
        {
          "operator": "OR",
          "negate": false,
          "cpeMatch": [
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:a:envoyproxy:envoy:*:*:*:*:*:*:*:*",
              "versionStartIncluding": "1.35.0",
              "versionEndExcluding": "1.35.11",
              "matchCriteriaId": "D0D8A448-3D11-4236-A3E1-BEF6537F7B78"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:a:envoyproxy:envoy:*:*:*:*:*:*:*:*",
              "versionStartIncluding": "1.36.0",
              "versionEndExcluding": "1.36.7",
              "matchCriteriaId": "C0A19272-7178-4FCE-A4D3-5E578A871D4D"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:a:envoyproxy:envoy:*:*:*:*:*:*:*:*",
              "versionStartIncluding": "1.37.0",
              "versionEndExcluding": "1.37.3",
              "matchCriteriaId": "24F12FF2-A40F-4C2C-B9C4-F59A22B99843"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:a:envoyproxy:envoy:*:*:*:*:*:*:*:*",
              "versionStartIncluding": "1.38.0",
              "versionEndExcluding": "1.38.1",
              "matchCriteriaId": "54B4E89D-3622-4F96-A599-E85109E8D4DD"
            }
          ]
        }
      ]
    }
  ],
  "references": [
    {
      "url": "https://github.com/envoyproxy/envoy/security/advisories/GHSA-396h-jpq4-vc7p",
      "source": "[email protected]",
      "tags": [
        "Exploit",
        "Vendor Advisory",
        "Mitigation"
      ]
    },
    {
      "url": "https://github.com/envoyproxy/envoy/security/advisories/GHSA-396h-jpq4-vc7p",
      "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
      "tags": [
        "Exploit",
        "Vendor Advisory",
        "Mitigation"
      ]
    }
  ]
}