Envoy — это прокси-сервер L7 с открытым исходным кодом и коммуникационная шина, предназначенные для современных архитектур, ориентированных…
Envoy — это прокси-сервер L7 с открытым исходным кодом и коммуникационная шина, предназначенные для современных архитектур, ориентированных на крупные сервисы. В уязвимых версиях Envoy неправильно обрабатывал элемент URI '#fragment' как часть элемента пути. Envoy настроен с фильтром RBAC для авторизации или аналогичным механизмом с явным случаем конечного элемента пути "/admin" или использует отрицательное утверждение с конечным элементом пути "/admin". Клиент отправляет запрос к "/app1/admin#foo". В Envoy версий до 1.18.0 или 1.18.0+, настроенных с path_normalization=false. Envoy рассматривает фрагмент как суффикс строки запроса, если она присутствует, или как суффикс пути, если строка запроса отсутствует, поэтому он оценивает конечный элемент пути как "/admin#foo" и не соответствует настроенному элементу пути "/admin". В Envoy 1.18.0+, настроенном с path_normalization=true. Envoy преобразует это в /app1/admin%23foo и не соответствует настроенному префиксу /admin. Полученный URI отправляется следующему серверу-агенту с нарушающим RFC3986 фрагментом "#foo" или с бессмысленным текстом "%23foo", добавленным в конец. Специально созданный запрос с URI, содержащим элемент '#fragment', доставленный ненадежным клиентом при наличии расширений авторизации запросов на основе пути, приводит к повышению привилегий при использовании расширений авторизации запросов на основе пути. Envoy версий 1.19.1, 1.18.4, 1.17.4, 1.16.5 содержат исправления, которые удаляют фрагмент из пути URI во входящих запросах.
Если веб-сервер не выполняет полный разбор запрошенных URL перед проверкой авторизации, злоумышленник может обойти защиту авторизации.
https://cwe.mitre.org/data/definitions/551.html →Открыть в коллекции CWE →Продукт выполняет проверку авторизации при попытке субъекта получить доступ к ресурсу или выполнить действие, однако не осуществляет эту проверку корректно.
https://cwe.mitre.org/data/definitions/863.html →Открыть в коллекции CWE →| Продукт | Вендор | Статус |
|---|---|---|
| envoyproxy | Отслеживается | |
| servicemesh-proxy | Отслеживается | |
| servicemesh-proxy | Отслеживается | |
| envoy | * | Отслеживается |