- Description
- Envoy is an open source edge and service proxy designed for cloud-native applications. Prior to 1.36.10, 1.37.6, 1.38.4, and 1.39.1, Envoy forwards data for a configured non-WebSocket HTTP upgrade before the upstream accepts the upgrade. An unauthenticated HTTP/2 client can place a complete HTTP/1.1 request in extended CONNECT data; Envoy downgrades the request, writes the data unframed to a keep-alive HTTP/1.1 upstream, and returns the socket to the shared pool while the smuggled response remains queued. A different downstream client can then receive the attacker's response. The relevant scope boundary is that webSocket upgrades, plain CONNECT, disabled backend keep-alive, per-downstream pools, and max_requests_per_connection set to 1 are not affected by the demonstrated path. This issue is fixed in versions 1.36.10, 1.37.6, 1.38.4, and 1.39.1.
- Source
- security-advisories@github.com
- NVD status
- Analyzed
- Products
- envoy
[
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:a:envoyproxy:envoy:*:*:*:*:*:*:*:*",
"matchCriteriaId": "6A420B14-9ADA-4F6B-ACAA-3045E8690F04",
"versionEndExcluding": "1.36.10",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:envoyproxy:envoy:*:*:*:*:*:*:*:*",
"matchCriteriaId": "1AD376F3-22D7-4BFB-B00C-BD68F464436F",
"versionEndExcluding": "1.37.6",
"versionStartIncluding": "1.37.0",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:envoyproxy:envoy:*:*:*:*:*:*:*:*",
"matchCriteriaId": "840E030F-8746-4DBD-87C0-5DF7896294CC",
"versionEndExcluding": "1.38.4",
"versionStartIncluding": "1.38.0",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:envoyproxy:envoy:*:*:*:*:*:*:*:*",
"matchCriteriaId": "B5C1C594-8142-4F51-BE50-1AF50FD07129",
"versionEndExcluding": "1.39.1",
"versionStartIncluding": "1.39.0",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
]