{"id":"CVE-2021-29492","aliases":["BIT-envoy-2021-29492","EUVD-2021-16089","GHSA-4987-27fx-x6cf","RHSA-2021:1538","RHSA-2021:1540"],"status":"published","title":"Bypass of path matching rules using escaped slash characters","description":"Envoy is a cloud-native edge/middle/service proxy. Envoy does not decode escaped slash sequences `%2F` and `%5C` in HTTP URL paths in versions 1.18.2 and before. A remote attacker may craft a path with escaped slashes, e.g. `/something%2F..%2Fadmin`, to bypass access control, e.g. a block on `/admin`. A backend server could then decode slash sequences and normalize path and provide an attacker access beyond the scope provided for by the access control policy. ### Impact Escalation of Privileges when using RBAC or JWT filters with enforcement based on URL path. Users with back end servers that interpret `%2F` and `/` and `%5C` and `\\` interchangeably are impacted. ### Attack Vector URL paths containing escaped slash characters delivered by untrusted client. Patches in versions 1.18.3, 1.17.3, 1.16.4, 1.15.5 contain new path normalization option to decode escaped slash characters. As a workaround, if back end servers treat `%2F` and `/` and `%5C` and `\\` interchangeably and a URL path based access control is configured, one may reconfigure the back end server to not treat `%2F` and `/` and `%5C` and `\\` interchangeably.","severity":{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-11","score":0.63096,"percentile":0.99214,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-22"],"published":"2021-05-28T21:00:24Z","modified":"2026-10-20T10:54:37Z","fixes":[{"ecosystem":"Bitnami","package":"envoy","fixed_in":["1.15.5","1.16.4","1.17.3","1.18.3"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Bitnami","package":"envoy","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"1.15.5"},{"introduced":"1.16.0"},{"fixed":"1.16.4"},{"introduced":"1.17.0"},{"fixed":"1.17.3"},{"introduced":"1.18.0"},{"fixed":"1.18.3"}]}]},{"source":"osv","ecosystem":"Red Hat:service_mesh:2.0::el8","package":"servicemesh-operator","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:2.0.4-3.el8"}]}],"bundled":2},{"source":"osv","ecosystem":"Red Hat:service_mesh:2.0::el8","package":"servicemesh-proxy","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:2.0.4-1.el8"}]}],"bundled":2},{"source":"osv","ecosystem":"Red Hat:service_mesh:2.0::el8","package":"servicemesh","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:2.0.4-1.el8"}]}],"bundled":2},{"source":"osv","ecosystem":"Red Hat:service_mesh:2.0::el8","package":"servicemesh-istioctl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:2.0.4-1.el8"}]}],"bundled":2},{"source":"osv","ecosystem":"Red Hat:service_mesh:2.0::el8","package":"servicemesh-mixc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:2.0.4-1.el8"}]}],"bundled":2},{"source":"osv","ecosystem":"Red Hat:service_mesh:2.0::el8","package":"servicemesh-mixs","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:2.0.4-1.el8"}]}],"bundled":2},{"source":"osv","ecosystem":"Red Hat:service_mesh:2.0::el8","package":"servicemesh-pilot-agent","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:2.0.4-1.el8"}]}],"bundled":2},{"source":"osv","ecosystem":"Red Hat:service_mesh:2.0::el8","package":"servicemesh-pilot-discovery","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:2.0.4-1.el8"}]}],"bundled":2},{"source":"osv","ecosystem":"Red Hat:service_mesh:1.1::el8","package":"servicemesh-proxy","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:1.1.14-1.el8"}]}],"bundled":2},{"source":"osv","ecosystem":"Red Hat:service_mesh:1.1::el8","package":"servicemesh","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:1.1.14-1.el8"}]}],"bundled":2},{"source":"osv","ecosystem":"Red Hat:service_mesh:1.1::el8","package":"servicemesh-citadel","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:1.1.14-1.el8"}]}],"bundled":2},{"source":"osv","ecosystem":"Red Hat:service_mesh:1.1::el8","package":"servicemesh-galley","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:1.1.14-1.el8"}]}],"bundled":2},{"source":"osv","ecosystem":"Red Hat:service_mesh:1.1::el8","package":"servicemesh-istioctl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:1.1.14-1.el8"}]}],"bundled":2},{"source":"osv","ecosystem":"Red Hat:service_mesh:1.1::el8","package":"servicemesh-mixc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:1.1.14-1.el8"}]}],"bundled":2},{"source":"osv","ecosystem":"Red Hat:service_mesh:1.1::el8","package":"servicemesh-mixs","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:1.1.14-1.el8"}]}],"bundled":2},{"source":"osv","ecosystem":"Red Hat:service_mesh:1.1::el8","package":"servicemesh-pilot-agent","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:1.1.14-1.el8"}]}],"bundled":2},{"source":"osv","ecosystem":"Red Hat:service_mesh:1.1::el8","package":"servicemesh-pilot-discovery","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:1.1.14-1.el8"}]}],"bundled":2},{"source":"osv","ecosystem":"Red Hat:service_mesh:1.1::el8","package":"servicemesh-sidecar-injector","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:1.1.14-1.el8"}]}],"bundled":2}],"products":[{"vendor":"envoyproxy","product":"envoy"}],"references":[{"url":"https://github.com/envoyproxy/envoy/security/advisories/GHSA-4987-27fx-x6cf","tags":["x_refsource_CONFIRM","x_transferred","Mitigation","Third Party Advisory","advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2021-29492","tags":["web","advisory"]},{"url":"https://access.redhat.com/errata/RHSA-2021:1538","tags":["advisory"]},{"url":"https://access.redhat.com/security/updates/classification/#important","tags":["article"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=1951188","tags":["report"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=1959481","tags":["report"]},{"url":"https://security.access.redhat.com/data/csaf/v2/advisories/2021/rhsa-2021_1538.json","tags":["advisory"]},{"url":"https://access.redhat.com/security/cve/CVE-2021-29492","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2021-29492","tags":["advisory"]},{"url":"https://istio.io/latest/news/releases/1.9.x/announcing-1.9.5/","tags":["article"]},{"url":"https://access.redhat.com/security/cve/CVE-2021-31920","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2021-31920","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2021-31920","tags":["advisory"]},{"url":"https://istio.io/latest/news/security/istio-security-2021-005/","tags":["article"]},{"url":"https://access.redhat.com/errata/RHSA-2021:1540","tags":["advisory"]},{"url":"https://security.access.redhat.com/data/csaf/v2/advisories/2021/rhsa-2021_1540.json","tags":["advisory"]}],"sources":{"cve":[{"id":"CVE-2021-29492","title":"Bypass of path matching rules using escaped slash characters","description":"Envoy is a cloud-native edge/middle/service proxy. Envoy does not decode escaped slash sequences `%2F` and `%5C` in HTTP URL paths in versions 1.18.2 and before. A remote attacker may craft a path with escaped slashes, e.g. `/something%2F..%2Fadmin`, to bypass access control, e.g. a block on `/admin`. A backend server could then decode slash sequences and normalize path and provide an attacker access beyond the scope provided for by the access control policy. ### Impact Escalation of Privileges when using RBAC or JWT filters with enforcement based on URL path. Users with back end servers that interpret `%2F` and `/` and `%5C` and `\\` interchangeably are impacted. ### Attack Vector URL paths containing escaped slash characters delivered by untrusted client. Patches in versions 1.18.3, 1.17.3, 1.16.4, 1.15.5 contain new path normalization option to decode escaped slash characters. As a workaround, if back end servers treat `%2F` and `/` and `%5C` and `\\` interchangeably and a URL path based access control is configured, one may reconfigure the back end server to not treat `%2F` and `/` and `%5C` and `\\` interchangeably.","status":"published","published":"2021-05-28T21:00:24Z","modified":"2024-08-03T22:11:05.253Z","cvss":[{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"cna"}],"cwes":["CWE-22"],"updated_at":"2026-11-02T14:33:06.658806Z"}],"euvd":[{"id":"EUVD-2021-16089","description":"Envoy is a cloud-native edge/middle/service proxy. Envoy does not decode escaped slash sequences `%2F` and `%5C` in HTTP URL paths in versions 1.18.2 and before. A remote attacker may craft a path with escaped slashes, e.g. `/something%2F..%2Fadmin`, to bypass access control, e.g. a block on `/admin`. A backend server could then decode slash sequences and normalize path and provide an attacker access beyond the scope provided for by the access control policy. ### Impact Escalation of Privileges when using RBAC or JWT filters with enforcement based on URL path. Users with back end servers that interpret `%2F` and `/` and `%5C` and `\\` interchangeably are impacted. ### Attack Vector URL paths containing escaped slash characters delivered by untrusted client. Patches in versions 1.18.3, 1.17.3, 1.16.4, 1.15.5 contain new path normalization option to decode escaped slash characters. As a workaround, if back end servers treat `%2F` and `/` and `%5C` and `\\` interchangeably and a URL path based access control is configured, one may reconfigure the back end server to not treat `%2F` and `/` and `%5C` and `\\` interchangeably.","status":"published","published":"2021-05-28T21:00:24Z","modified":"2024-08-03T22:11:05Z","cvss":[{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-03T03:24:44.540278Z"}],"nvd":[{"id":"CVE-2021-29492","description":"Envoy is a cloud-native edge/middle/service proxy. Envoy does not decode escaped slash sequences `%2F` and `%5C` in HTTP URL paths in versions 1.18.2 and before. A remote attacker may craft a path with escaped slashes, e.g. `/something%2F..%2Fadmin`, to bypass access control, e.g. a block on `/admin`. A backend server could then decode slash sequences and normalize path and provide an attacker access beyond the scope provided for by the access control policy. ### Impact Escalation of Privileges when using RBAC or JWT filters with enforcement based on URL path. Users with back end servers that interpret `%2F` and `/` and `%5C` and `\\` interchangeably are impacted. ### Attack Vector URL paths containing escaped slash characters delivered by untrusted client. Patches in versions 1.18.3, 1.17.3, 1.16.4, 1.15.5 contain new path normalization option to decode escaped slash characters. As a workaround, if back end servers treat `%2F` and `/` and `%5C` and `\\` interchangeably and a URL path based access control is configured, one may reconfigure the back end server to not treat `%2F` and `/` and `%5C` and `\\` interchangeably.","status":"published","published":"2021-05-28T21:15:08.67Z","modified":"2026-06-17T03:47:45.13Z","cvss":[{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"secondary"},{"version":"3.1","score":8.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:L","level":"high","assessor":"primary"},{"version":"2.0","score":7.5,"vector":"AV:N/AC:L/Au:N/C:P/I:P/A:P","level":"high","assessor":"primary"}],"cwes":["CWE-22"],"updated_at":"2026-11-02T14:06:53.987491Z"}],"osv":[{"id":"CVE-2021-29492","description":"Envoy is a cloud-native edge/middle/service proxy. Envoy does not decode escaped slash sequences `%2F` and `%5C` in HTTP URL paths in versions 1.18.2 and before. A remote attacker may craft a path with escaped slashes, e.g. `/something%2F..%2Fadmin`, to bypass access control, e.g. a block on `/admin`. A backend server could then decode slash sequences and normalize path and provide an attacker access beyond the scope provided for by the access control policy. ### Impact Escalation of Privileges when using RBAC or JWT filters with enforcement based on URL path. Users with back end servers that interpret `%2F` and `/` and `%5C` and `\\` interchangeably are impacted. ### Attack Vector URL paths containing escaped slash characters delivered by untrusted client. Patches in versions 1.18.3, 1.17.3, 1.16.4, 1.15.5 contain new path normalization option to decode escaped slash characters. As a workaround, if back end servers treat `%2F` and `/` and `%5C` and `\\` interchangeably and a URL path based access control is configured, one may reconfigure the back end server to not treat `%2F` and `/` and `%5C` and `\\` interchangeably.","status":"published","published":"2021-05-28T21:15:08.67Z","modified":"2026-10-20T10:54:37.514759614Z","cvss":[{"version":"3.1","score":8.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:L","level":"high"}],"updated_at":"2026-11-02T15:44:19.129331Z"},{"id":"RHSA-2021:1538","title":"Red Hat Security Advisory: Red Hat OpenShift Service Mesh 2.0.4 security update","status":"published","published":"2024-09-16T05:51:58Z","modified":"2026-06-27T10:13:22Z","cvss":[{"version":"3.1","score":8.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:L","level":"high"}],"updated_at":"2026-11-02T15:53:08.071325Z"},{"id":"RHSA-2021:1540","title":"Red Hat Security Advisory: Red Hat OpenShift Service Mesh 1.1.14 security update","status":"published","published":"2024-09-16T05:51:50Z","modified":"2026-06-27T10:13:23Z","cvss":[{"version":"3.1","score":8.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:L","level":"high"}],"updated_at":"2026-11-02T15:53:08.071325Z"},{"id":"BIT-envoy-2021-29492","title":"Bypass of path matching rules using escaped slash characters","description":"Envoy is a cloud-native edge/middle/service proxy. Envoy does not decode escaped slash sequences `%2F` and `%5C` in HTTP URL paths in versions 1.18.2 and before. A remote attacker may craft a path with escaped slashes, e.g. `/something%2F..%2Fadmin`, to bypass access control, e.g. a block on `/admin`. A backend server could then decode slash sequences and normalize path and provide an attacker access beyond the scope provided for by the access control policy. ### Impact Escalation of Privileges when using RBAC or JWT filters with enforcement based on URL path. Users with back end servers that interpret `%2F` and `/` and `%5C` and `\\` interchangeably are impacted. ### Attack Vector URL paths containing escaped slash characters delivered by untrusted client. Patches in versions 1.18.3, 1.17.3, 1.16.4, 1.15.5 contain new path normalization option to decode escaped slash characters. As a workaround, if back end servers treat `%2F` and `/` and `%5C` and `\\` interchangeably and a URL path based access control is configured, one may reconfigure the back end server to not treat `%2F` and `/` and `%5C` and `\\` interchangeably.","status":"published","published":"2024-03-06T10:58:39.469Z","modified":"2026-09-08T08:47:22.070302721Z","updated_at":"2026-11-02T15:28:29.563843Z"}]}}
