Envoy — это высокопроизводительный периферийный/средний/сервисный прокси. До версий 1.37.1, 1.36.5, 1.35.8 и 1.34.13, если в фильтре ограничения скорости включено ограничение фазы ответа с помощью apply_on_stream_done в конфигурации ограничения скорости и запрос ограничения фазы ответа завершается сбоем, это может привести к сбою Envoy. Если включены как ограничение фазы запроса, так и ограничение фазы ответа, безопасный экземпляр клиента gRPC будет повторно использоваться как для запроса фазы запроса, так и для запроса фазы ответа.
Но после выполнения запроса фазы запроса внутреннее состояние запроса ограничения фазы запроса в клиенте gRPC не очищается. Когда второй запрос ограничения отправляется на этапе ответа, и второй запрос ограничения завершается сбоем напрямую, может быть получен доступ к внутреннему состоянию предыдущего запроса, что приведет к сбою. Эта уязвимость исправлена в версиях 1.37.1, 1.36.5, 1.35.8 и 1.34.13.
Показать оригинальное описание (EN)
Envoy is a high-performance edge/middle/service proxy. Prior to 1.37.1, 1.36.5, 1.35.8, and 1.34.13, At the rate limit filter, if the response phase limit with apply_on_stream_done in the rate limit configuration is enabled and the response phase limit request fails directly, it may crash Envoy. When both the request phase limit and response phase limit are enabled, the safe gRPC client instance will be re-used for both the request phase request and response phase request. But after the request phase request is done, the inner state of the request phase limit request in gRPC client is not cleaned up. When a second limit request is sent at response phase, and the second limit request fails directly, the previous request's inner state may be accessed and result in crash. This vulnerability is fixed in 1.37.1, 1.36.5, 1.35.8, and 1.34.13.
Характеристики атаки
Последствия
Строка CVSS v3.1