CVE-2026-73511: Envoy: Potential path-matching/authentication bypass when using Envoy in combination with a backend stripping per-segment path (matrix) parameters (e.g. Apache Tomcat)
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 normally matches the raw request path, while servlet backends such as Apache Tomcat strip semicolon matrix parameters from each path segment before resolving the resource. Envoy's ignorepathparametersinpathmatching option instead truncates at the first semicolon and still does not match per-segment backend behavior. A remote client can use a parameterized protected segment, or a parameter on an earlier segment, to make Envoy select an unprotected fallback while the backend resolves the protected resource. The relevant scope boundary is that the bypass requires both a path-based Envoy decision and a backend that strips semicolon parameters per segment. This issue is fixed in versions 1.36.10, 1.37.6, 1.38.4, and 1.39.1.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 1.36.10 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 1.37.6 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 1.38.4 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 1.39.1
Event History
Frequently Asked Questions
Which deployments are exposed to this bypass?
Exposure requires Envoy to make a path-based decision, such as authentication or routing, in front of a backend that strips semicolon matrix parameters from each path segment. Apache Tomcat is an example of such a backend.
What does an attacker need to do to exploit it?
A remote, unauthenticated client can send a request with semicolon parameters on a protected path segment, or on an earlier segment. This can cause Envoy to select an unprotected fallback while the backend resolves the protected resource.
Does enabling ignore_path_parameters_in_path_matching prevent the issue?
No. That option truncates the path at the first semicolon, which still does not match the per-segment parameter stripping behavior of affected servlet backends.
Which Envoy versions contain the fix?
The issue is fixed in Envoy 1.36.10, 1.37.6, 1.38.4, and 1.39.1.