CVE-2026-48090
Full vulnerability record from the local CVENow database.
Description
Envoy is an open source edge and service proxy designed for cloud-native applications. From 1.37.0 until 1.37.5 and 1.38.3, the HTTP OAuth2 filter (envoy.filters.http.oauth2) can leave an in-flight async token exchange attached to a downstream stream that has already been torn down. A late AsyncClient completion can still invoke OAuth2Filter methods that use StreamDecoderFilterCallbacks after that object’s lifetime has ended, causing undefined behavior, worker crashes (availability loss), and use-after-free / invalid-vptr failures under AddressSanitizer. This is a memory-safety / lifetime issue in the data plane, not a trivial config bug. Remote code execution is not claimed here; the primary demonstrated impact is DoS via crash and UB; any further impact would be deployment- and allocator-dependent. This vulnerability is fixed in 1.37.5 and 1.38.3.
View original CVE JSON
{
"id": "CVE-2026-48090",
"sourceIdentifier": "[email protected]",
"published": "2026-06-26T19:16:41.590",
"lastModified": "2026-10-25T17:10:00.197",
"vulnStatus": "Modified",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "Envoy is an open source edge and service proxy designed for cloud-native applications. From 1.37.0 until 1.37.5 and 1.38.3, the HTTP OAuth2 filter (envoy.filters.http.oauth2) can leave an in-flight async token exchange attached to a downstream stream that has already been torn down. A late AsyncClient completion can still invoke OAuth2Filter methods that use StreamDecoderFilterCallbacks after that object’s lifetime has ended, causing undefined behavior, worker crashes (availability loss), and use-after-free / invalid-vptr failures under AddressSanitizer. This is a memory-safety / lifetime issue in the data plane, not a trivial config bug. Remote code execution is not claimed here; the primary demonstrated impact is DoS via crash and UB; any further impact would be deployment- and allocator-dependent. This vulnerability is fixed in 1.37.5 and 1.38.3."
},
{
"lang": "es",
"value": "Envoy es un proxy de borde y de servicio de código abierto diseñado para aplicaciones nativas de la nube. Desde 1.37.0 hasta 1.37.5 y 1.38.3, el filtro HTTP OAuth2 (envoy.filters.http.oauth2) puede dejar un intercambio de token asíncrono en curso adjunto a un flujo descendente que ya ha sido desmantelado. Una finalización tardía de AsyncClient aún puede invocar métodos de OAuth2Filter que usan StreamDecoderFilterCallbacks después de que la vida útil de ese objeto haya terminado, causando comportamiento indefinido, fallos de trabajador (pérdida de disponibilidad), y fallos de uso después de liberación / invalid-vptr bajo AddressSanitizer. Este es un problema de seguridad de memoria / vida útil en el plano de datos, no un error de configuración trivial. La ejecución remota de código no se afirma aquí; el impacto principal demostrado es DoS a través de fallos y UB; cualquier impacto adicional dependería de la implementación y del asignador. Esta vulnerabilidad está corregida en 1.37.5 y 1.38.3."
}
],
"affected": [
{
"source": "[email protected]",
"affectedData": [
{
"vendor": "envoyproxy",
"product": "envoy",
"versions": [
{
"version": ">= 1.38.0, < 1.38.3",
"status": "affected"
},
{
"version": ">= 1.37.0, < 1.37.5",
"status": "affected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV31": [
{
"source": "[email protected]",
"type": "Secondary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H",
"baseScore": 5.9,
"baseSeverity": "MEDIUM",
"attackVector": "NETWORK",
"attackComplexity": "HIGH",
"privilegesRequired": "NONE",
"userInteraction": "NONE",
"scope": "UNCHANGED",
"confidentialityImpact": "NONE",
"integrityImpact": "NONE",
"availabilityImpact": "HIGH"
},
"exploitabilityScore": 2.2,
"impactScore": 3.6
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"timestamp": "2026-06-29T12:01:33.641021Z",
"id": "CVE-2026-48090",
"options": [
{
"exploitation": "poc"
},
{
"automatable": "no"
},
{
"technicalImpact": "partial"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
]
},
"weaknesses": [
{
"source": "[email protected]",
"type": "Secondary",
"description": [
{
"lang": "en",
"value": "CWE-416"
}
]
}
],
"configurations": [
{
"nodes": [
{
"operator": "OR",
"negate": false,
"cpeMatch": [
{
"vulnerable": true,
"criteria": "cpe:2.3:a:envoyproxy:envoy:*:*:*:*:*:*:*:*",
"versionStartIncluding": "1.37.0",
"versionEndExcluding": "1.37.5",
"matchCriteriaId": "2057BF79-00D1-4154-9DC0-3F278C72F4E1"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:a:envoyproxy:envoy:*:*:*:*:*:*:*:*",
"versionStartIncluding": "1.38.0",
"versionEndExcluding": "1.38.3",
"matchCriteriaId": "2A218AD4-BF4B-46EA-96D7-3B25B7E71AC8"
}
]
}
]
}
],
"references": [
{
"url": "https://github.com/envoyproxy/envoy/security/advisories/GHSA-3cj2-c63f-q26f",
"source": "[email protected]",
"tags": [
"Exploit",
"Mitigation",
"Vendor Advisory"
]
},
{
"url": "https://github.com/envoyproxy/envoy/security/advisories/GHSA-3cj2-c63f-q26f",
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"tags": [
"Exploit",
"Mitigation",
"Vendor Advisory"
]
}
]
}