Istio (а точнее Envoy, используемый под капотом) как обычно щедр на баги. Ресерчеры из Snyk нашли способ обойти AuthorizationPolicy. Для байпаса Istio изначально веб-приложение должно быть уязвимо к HTTP header injection. При такой уязвимости query параметры подставляются в заголовки ответа.Чтобы проэксплуатировать уязвимость для начало необходимо убедить
Istio, что TCP соединение было успешно преобразовано в WebSocket. Для этого в параметрах и заголовках к запросу необходимо выставить параметры upgrade=websockets и connection=upgrade. При этом сервер вернёт 200-ый код ответа, что не типично при успешном переключении на WebSocket. После этого все запросы отправленные на ручки, ограниченные AuthorizationPolicy, будут успешно проходить.Уязвимости присвоили CVE-2024-23326, необходимые патчи уже выпущены.
P.S – Актуальный доклад про внедрение
AuthorizationPolicy с прошедшего БеКон 2024.P.S.S – Использование механизмов
Service Mesh не освобождает от использования Network Policy.
