Envoy incorrectly accepts HTTP 200 response for entering upgrade mode (envoyproxy envoy)
At a glance
- Source
- NVD
- EPSS
- EPSS 0.36 % · percentile 30 ()
- State
- PUBLISHED
- Published
- Updated
- Assigner
- GitHub_M
- NVD status
- Modified
Description
Envoy is a cloud-native, open source edge and service proxy. A theoretical request smuggling vulnerability exists through Envoy if a server can be tricked into adding an upgrade header into a response. Per RFC https://www.rfc-editor.org/rfc/rfc7230#section-6.7 a server sends 101 when switching protocols. Envoy incorrectly accepts a 200 response from a server when requesting a protocol upgrade, but 200 does not indicate protocol switch. This opens up the possibility of request smuggling through Envoy if the server can be tricked into adding the upgrade header to the response.
Weaknesses (CWE)
- CWE-391 — DEPRECATED: Unchecked Error Condition
- CWE-444 — Inconsistent Interpretation of HTTP Requests
References
Scores
| Version | Score | Vector | Scored by |
|---|---|---|---|
| CVSS 3.1 | MEDIUM 5.9 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N | GitHub_M |
| CVSS 3.1 | MEDIUM 5.9 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N | NVD · security-advisories@github.com (Secondary) |
| CVSS 3.1 | HIGH 8.2 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N | NVD · nvd@nist.gov (Primary) |
European references
- ENISA EUVD · EUVD-2024-20841
- GCVE · GCVE-0-2024-23326
Affected configurations (NVD CPE)
cpe:2.3:a:envoyproxy:envoy:*:*:*:*:*:*:*:*< 1.27.6cpe:2.3:a:envoyproxy:envoy:*:*:*:*:*:*:*:*≥ 1.28.0 < 1.28.4cpe:2.3:a:envoyproxy:envoy:*:*:*:*:*:*:*:*≥ 1.29.0 < 1.29.5cpe:2.3:a:envoyproxy:envoy:*:*:*:*:*:*:*:*≥ 1.30.0 < 1.30.2
Affected products
| Product | Versions |
|---|---|
| envoyproxy · envoy | affected >= 1.13.0, <= 1.30.1 ; affected >= 1.29.0, <= 1.29.4 ; affected >= 1.28.0, <= 1.28.3 ; affected <= 1.27.5 |
Sources
| Source | Licence |
|---|---|
| CVE List (CVEProject cvelistV5) | CVE Program Terms of Use |
| EPSS (FIRST.org) | FIRST — attribution requested |
| ENISA EUVD | ENISA — reproduction authorised, source acknowledged |
| NVD (NIST) via fkie-cad/nvd-json-data-feeds | Public domain — this product uses data from the NVD API but is not endorsed or certified by the NVD |