Summary
Envoy's URI template matcher does not match URI paths containing the *
character.
Affected Components
Envoy's URI template matcher and Envoy's HTTP RBAC extension when configured with the uri_template
permissions.
Details
Envoy's URI template matcher incorrectly excludes the *
character from a set of valid characters in the URI path. As a result URI path containing the *
character will not match a URI template expressions.
Impact
Bypass of RBAC rules when configured using the uri_template
permissions.
Attack vector(s)
A request from an untrusted peer with URI path containing the *
character.
Patches
This vulnerability is fixed in Envoy versions v1.34.1, v1.33.3, v1.32.6, v1.31.8
Workarounds
Configure additional RBAC permissions using url_path
with safe_regex
expression.
Detection
Access log entries to excluded endpoints with the *
character(s) in request URI path.
Credits
Discovery: "Chwila, Bartosz" [email protected]
Diagnostics: Jackie Maertens (Elliott): https://github.com/jaellio
Summary
Envoy's URI template matcher does not match URI paths containing the
*
character.Affected Components
Envoy's URI template matcher and Envoy's HTTP RBAC extension when configured with the
uri_template
permissions.Details
Envoy's URI template matcher incorrectly excludes the
*
character from a set of valid characters in the URI path. As a result URI path containing the*
character will not match a URI template expressions.Impact
Bypass of RBAC rules when configured using the
uri_template
permissions.Attack vector(s)
A request from an untrusted peer with URI path containing the
*
character.Patches
This vulnerability is fixed in Envoy versions v1.34.1, v1.33.3, v1.32.6, v1.31.8
Workarounds
Configure additional RBAC permissions using
url_path
withsafe_regex
expression.Detection
Access log entries to excluded endpoints with the
*
character(s) in request URI path.Credits
Discovery: "Chwila, Bartosz" [email protected]
Diagnostics: Jackie Maertens (Elliott): https://github.com/jaellio