CVE-2026-26308
Envoy has an RBAC Header Validation Bypass via Multi-Value Header Concatenation
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- Low
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
7.5
Envoy has an RBAC Header Validation Bypass via Multi-Value Header Concatenation
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.
- Record
CVE-2026-26308- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:L/A:N - Weakness
- CWE-863
- Updated
- 2026-11-02
EUVDEUVD-2026-10798
7.5
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.
- Record
EUVD-2026-10798- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:L/A:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-ghc4-35x6-crw5
7.5
Envoy has RBAC Header Validation Bypass via Multi-Value Header Concatenation
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:
internalheader must not equaltrue.
The Bypass Logic
-
Standard Request (Blocked):
- Input:
internal: true - Envoy Processing: Sees string
"true". - Result: Match found. Request Denied.
- Input:
-
Exploit Request (Bypassed):
- Input:
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.
- Input:
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:
- Deploy Envoy: Configure an instance with an RBAC Deny rule that performs an exact match on a specific header (e.g.,
internal: true). - Baseline Test: Send a request containing the header
internal: true.- Observation: Envoy blocks this request (HTTP 403).
- Exploit Test: Send a second request containing the same header twice:
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
- Record
GHSA-ghc4-35x6-crw5- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:L/A:N - Weakness
- CWE-20, CWE-863
- Updated
- 2026-11-02
NVD
7.5
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.
- Record
CVE-2026-26308- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:L/A:N - CVSS 3.1
- 8.2 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N - Weakness
- CWE-863
- Updated
- 2026-11-02
OSV
7.5
Envoy has an RBAC Header Validation Bypass via Multi-Value Header Concatenation
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.
- Record
CVE-2026-26308- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:L/A:N - Weakness
- CWE-863
- Updated
- 2026-11-02
OSVGHSA-ghc4-35x6-crw5
7.5
Envoy has RBAC Header Validation Bypass via Multi-Value Header Concatenation
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:
internalheader must not equaltrue.
The Bypass Logic
-
Standard Request (Blocked):
- Input:
internal: true - Envoy Processing: Sees string
"true". - Result: Match found. Request Denied.
- Input:
-
Exploit Request (Bypassed):
- Input:
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.
- Input:
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:
- Deploy Envoy: Configure an instance with an RBAC Deny rule that performs an exact match on a specific header (e.g.,
internal: true). - Baseline Test: Send a request containing the header
internal: true.- Observation: Envoy blocks this request (HTTP 403).
- Exploit Test: Send a second request containing the same header twice:
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
- Record
GHSA-ghc4-35x6-crw5- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:L/A:N - Weakness
- CWE-20, CWE-863
- Updated
- 2026-11-02
OSVBIT-envoy-2026-26308 No score
Envoy has an RBAC Header Validation Bypass via Multi-Value Header Concatenation
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.
- Record
BIT-envoy-2026-26308- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
github.com/envoyproxy/envoyGo |
1.37.0 to 1.37.0 | 1.37.1 |
github.com/envoyproxy/envoyGo |
1.36.0 to 1.36.4 | 1.36.5 |
github.com/envoyproxy/envoyGo |
1.35.0 to 1.35.8 | 1.35.9 |
github.com/envoyproxy/envoyGo |
through 1.34.12 | 1.34.13 |
envoyBitnami |
before 1.34.13, 1.35.0 up to 1.35.9, 1.36.0 up to 1.36.5, 1.37.0 up to 1.37.1 | 1.34.131.35.91.36.51.37.1 |
github.com/envoyproxy/envoyGo |
1.37.0 up to 1.37.1 | 1.37.1 |
github.com/envoyproxy/envoyGo |
1.36.0 up to 1.36.5 | 1.36.5 |
github.com/envoyproxy/envoyGo |
1.35.0 up to 1.35.9 | 1.35.9 |
github.com/envoyproxy/envoyGo |
before 1.34.13 | 1.34.13 |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-26308 is a high vulnerability (CVSS 7.5) in Envoyproxy Envoy, published March 10, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.32%, the 25th percentile. Fixed in github.com/envoyproxy/envoy 1.37.1.
References
github.com/envoyproxy/envoy/security/advisories/GHSA-ghc4-35x6-crw5
github.com/envoyproxy/envoy/commit/b6ba0b2294b98484fb0ed8556897d1073cc27867
nvd.nist.gov/vuln/detail/CVE-2026-26308
github.com/advisories/GHSA-ghc4-35x6-crw5
github.com/CVEProject/cvelistV5/tree/main/cves/2026/26xxx/CVE-2026-26308.json
github.com/envoyproxy/envoy