flagd — это демон флагов функций, основанный на философии Unix. До версии 0.14.2 flagd предоставляет конечные точки OFREP (/ofrep/v1/evaluate/...) и gRPC (evaluation.v1, Assessment.v2) для оценки флага функции. Эти конечные точки предназначены для публичного доступа клиентских приложений.
Контекст оценки, включенный в полезные данные запроса, считывается в память без каких-либо ограничений по размеру. Злоумышленник может отправить один HTTP-запрос с телом произвольного размера, заставив flagd выделить соответствующий объем памяти. Это приводит к немедленному исчерпанию памяти и завершению процесса (например, OOMKill в средах Kubernetes). flagd изначально не обеспечивает аутентификацию на своих конечных точках оценки.
Хотя операторы могут развертывать флаги за аутентифицирующим обратным прокси-сервером или аналогичной инфраструктурой, сами конечные точки по умолчанию не налагают никакого контроля доступа. Эта уязвимость исправлена в версии 0.14.2.
Показать оригинальное описание (EN)
flagd is a feature flag daemon with a Unix philosophy. Prior to 0.14.2, flagd exposes OFREP (/ofrep/v1/evaluate/...) and gRPC (evaluation.v1, evaluation.v2) endpoints for feature flag evaluation. These endpoints are designed to be publicly accessible by client applications. The evaluation context included in request payloads is read into memory without any size restriction. An attacker can send a single HTTP request with an arbitrarily large body, causing flagd to allocate a corresponding amount of memory. This leads to immediate memory exhaustion and process termination (e.g., OOMKill in Kubernetes environments). flagd does not natively enforce authentication on its evaluation endpoints. While operators may deploy flagd behind an authenticating reverse proxy or similar infrastructure, the endpoints themselves impose no access control by default. This vulnerability is fixed in 0.14.2.
Характеристики атаки
Последствия
Строка CVSS v3.1