Description
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's URL normalization does not recognize dot and dotdot path segments when they carry semicolon parameters. A request such as /user/..;foo=bar/admin is therefore not canonicalized to /admin even when path normalization is enabled. If an upstream interprets the segment according to RFC 3986 while Envoy applies routing or RBAC to the uncollapsed path, a remote client can cause path confusion and bypass path-based security policy. The relevant scope boundary is that the security consequence depends on a downstream/upstream path interpretation mismatch or a path-based Envoy decision. This issue is fixed in versions 1.36.10, 1.37.6, 1.38.4, and 1.39.1.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
envoyproxy envoy
< 1.36.10affected>= 1.37.0, < 1.37.6affected>= 1.38.0, < 1.38.4affected>= 1.39.0, < 1.39.1affected
References
- https://github.com/envoyproxy/envoy/security/advisories/GHSA-2w8w-rfw7-8gg4 ↗
- https://github.com/envoyproxy/envoy/commit/28b6d60a6d96edeece121cac5be701eb46cc7f24 ↗
- https://github.com/envoyproxy/envoy/commit/d40a68b0a30a003c4e0a9fd3af637f828b52c37b ↗
- https://github.com/envoyproxy/envoy/commit/e9d6c329f9a3ff19432bf39b60c601df7e3eda33 ↗
- https://github.com/envoyproxy/envoy/commit/f74d1107c4f5c9679b66f7a03a6c5b75ddde1989 ↗
- https://github.com/envoyproxy/envoy/releases/tag/v1.36.10 ↗
- https://github.com/envoyproxy/envoy/releases/tag/v1.37.6 ↗
- https://github.com/envoyproxy/envoy/releases/tag/v1.38.4 ↗
- https://github.com/envoyproxy/envoy/releases/tag/v1.39.1 ↗