CVE-2026-26308
highpriority · track · 33OT risk · elevatedEPSS 0.003 · 23 %ileDEEUUSEPSS · scored 2026-10-27
Envoy is a high-performance edge/middle/service proxy. Prior to 1.37.1, 1.36.5, 1.35.8, and 1.34.13, the Envoy RBAC (Role-Based Access Control) filter contains a logic vulnerability in how it validates HTTP headers when multiple values are present for the same header name. Instead of validating each header value individually, Envoy concatenates all values into a single comma-separated string. This behavior allows attackers to bypass RBAC policies—specifically "Deny" rules—by sending duplicate headers, effectively obscuring the malicious value from exact-match mechanisms. This vulnerability is fixed in 1.37.1, 1.36.5, 1.35.8, and 1.34.13.
cvss
Technical severity, 0–10. One row per scoring source.
base score 0–10 · higher = more severe · hover a vector to decode
ssvc
A stakeholder decision — act, attend, or track — from exploitation and impact.
weaknesses
The CWE weakness classes this flaw belongs to.
affected products (26)
Products and version ranges known to be affected.
advisories (3)
Vendor and ecosystem advisories describing this.
- WID-SEC-W-2026-0704Google Cloud Platform Envoy Proxy, Istio und Service Mesh: Mehrere SchwachstellenDeutsch2026-03-11csaf · cert_bundDE
Ein Angreifer kann mehrere Schwachstellen in Google Cloud Platform ausnutzen, um Sicherheitsvorkehrungen zu umgehen, vertrauliche Informationen offenzulegen oder einen Denial-of-Service-Zustand zu verursachen.
- GHSA-ghc4-35x6-crw5Envoy has RBAC Header Validation Bypass via Multi-Value Header Concatenation2026-03-10ghsa · osvUS
## 1. Summary The Envoy RBAC (Role-Based Access Control) filter contains a logic vulnerability in how it validates HTTP headers when multiple values are present for the same header name. Instead of validating each header value individually, Envoy concatenates all values into a single comma-separated string. This behavior allows attackers to bypass RBAC policies—specifically "Deny" rules—by sending duplicate headers, effectively obscuring the malicious value from exact-match mechanisms. ## 2. Attack Scenario Consider an environment where an administrator wants to block external access to internal resources using a specific header flag. ### Configuration The Envoy proxy is configured with a **Deny** rule to reject requests containing the header `internal: true`. * **Rule Type:** Exact Match * **Target:** `internal` header must not equal `true`. ### The Bypass Logic 1. **Standard Request (Blocked):** * **Input:** `internal: true` * **Envoy Processing:** Sees string `"true"`. * **Result:** Match found. **Request Denied.** 2. **Exploit Request (Bypassed):** * **Input:** ```http internal: true internal: true ``` * **Envoy Processing:** Concatenates values into `"true,true"`. * **Matcher Evaluation:** Does `"true,true"` equal `"true"`? **No.** * **Result:** The Deny rule fails to trigger. **Request Allowed.** ## 3. Implications * **RBAC Bypass:** Remote attackers can bypass configured access controls. * **Unauthorized Access:** Sensitive internal resources or administrative endpoints protected by header-based Deny rules become accessible. * **Risk:** High, particularly for deployments relying on "Exact Match" strategies for security blocking. ## 4. Reproduction Steps To verify this vulnerability: 1. **Deploy Envoy:** Configure an instance with an RBAC **Deny** rule that performs an **exact match** on a specific header (e.g., `internal: true`). 2. **Baseline Test:** Send a request containing the header `internal: true`. * *Observation:* Envoy blocks this request (HTTP 403). 3. **Exploit Test:** Send a second request containing the same header twice: ```http GET /restricted-resource HTTP/1.1 Host: example.com internal: true internal: true ``` * *Observation:* Envoy allows the request, granting access to the resource. ## 6. Recommendations **Fix Header Validation Logic:** Modify the RBAC filter to validate each header value instance individually. Avoid relying on the concatenated string output of `getAllOfHeaderAsString()` for security-critical matching unless the matcher is explicitly designed to parse comma-separated lists. ** Examine the DENY role to use a Regex style fix. **Credit:** Dor Konis
- BIT-envoy-2026-26308Envoy has an RBAC Header Validation Bypass via Multi-Value Header Concatenation2026-03-12vendor · osvUS
Envoy is a high-performance edge/middle/service proxy. Prior to 1.37.1, 1.36.5, 1.35.8, and 1.34.13, the Envoy RBAC (Role-Based Access Control) filter contains a logic vulnerability in how it validates HTTP headers when multiple values are present for the same header name. Instead of validating each header value individually, Envoy concatenates all values into a single comma-separated string. This behavior allows attackers to bypass RBAC policies—specifically "Deny" rules—by sending duplicate headers, effectively obscuring the malicious value from exact-match mechanisms. This vulnerability is fixed in 1.37.1, 1.36.5, 1.35.8, and 1.34.13.
also known as (5)
Other names and identifiers for this entity.
sources
Which sources assert this record, and when.
references (7)
External citations — patches, advisories, analysis.
- https://github.com/envoyproxy/envoy/commit/b6ba0b2294b98484fb0ed8556897d1073cc27867cnnvd
- https://github.com/envoyproxy/envoy/releasesPatchcnnvd
- https://github.com/envoyproxy/envoy/security/advisories/GHSA-ghc4-35x6-crw5cnnvd
- https://github.com/envoyproxy/envoy/commit/b6ba0b2294b98484fb0ed8556897d1073cc27867enisa_euvd
- https://github.com/envoyproxy/envoy/security/advisories/GHSA-ghc4-35x6-crw5enisa_euvd
- https://github.com/envoyproxy/envoy/commit/b6ba0b2294b98484fb0ed8556897d1073cc27867Patchnvd
- https://github.com/envoyproxy/envoy/security/advisories/GHSA-ghc4-35x6-crw5ExploitMitigationVendor Advisorynvd
Attackers weaponise vulnerabilities like this against internet-exposed services. See what is exposed on your perimeter with a free passive scan.
Free scan