CVE-2024-23326
Envoy incorrectly accepts HTTP 200 response for entering upgrade mode
MEDIUM 5.9
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)
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 |