Kargo управляет и автоматизирует продвижение программных артефактов. Начиная с версии 1.7.0 и до версий 1.7.8, 1.8.11 и 1.9.3, конечные точки пакетного создания ресурсов как устаревшего gRPC API Kargo, так и более нового REST API принимают многодокументные полезные нагрузки YAML. Специально созданные полезные данные могут проявлять ошибку, присутствующую в логике обеих конечных точек, для внедрения произвольных ресурсов (только определенных типов) в базовое пространство имен существующего проекта с использованием собственных разрешений сервера API, когда такое поведение не было запланировано.
Крайне важно, что злоумышленник может использовать это как вектор для повышения своих собственных разрешений, которые затем можно использовать для удаленного выполнения кода или секретной эксфильтрации. Украденные учетные данные хранилища артефактов, в свою очередь, можно использовать для проведения дальнейших атак. В некоторых конфигурациях базового кластера Kubernetes плоскости управления Kargo повышенные разрешения могут дополнительно использоваться для удаленного выполнения кода или секретной эксфильтрации с помощью kubectl.
Это может снизить сложность атаки, однако худшие сценарии остаются вполне достижимыми и без этого. Эта уязвимость исправлена в версиях 1.7.8, 1.8.11 и 1.9.3.
Показать оригинальное описание (EN)
Kargo manages and automates the promotion of software artifacts. From 1.7.0 to before v1.7.8, v1.8.11, and v1.9.3, the batch resource creation endpoints of both Kargo's legacy gRPC API and newer REST API accept multi-document YAML payloads. Specially crafted payloads can manifest a bug present in the logic of both endpoints to inject arbitrary resources (of specific types only) into the underlying namespace of an existing Project using the API server's own permissions when that behavior was not intended. Critically, an attacker may exploit this as a vector for elevating their own permissions, which can then be leveraged to achieve remote code execution or secret exfiltration. Exfiltrated artifact repository credentials can be leveraged, in turn, to execute further attacks. In some configurations of the Kargo control plane's underlying Kubernetes cluster, elevated permissions may additionally be leveraged to achieve remote code execution or secret exfiltration using kubectl. This can reduce the complexity of the attack, however, worst case scenarios remain entirely achievable even without this. This vulnerability is fixed in v1.7.8, v1.8.11, and v1.9.3.
Характеристики атаки
Последствия
Строка CVSS v4.0