BDU:2023-02885 (CVE-2023-22651) — уязвимость компонента Webhook программного обеспечения управления кластерами Kubernets Rancher
По данным БДУ ФСТЭК России, по состоянию на 29.05.2023.
Критический — 9.9/10 Устранена
Уязвимость компонента Webhook программного обеспечения управления кластерами Kubernets Rancher связана с недостатками разграничения доступа. Эксплуатация уязвимости может позволить нарушителю, действующему удалённо, повысить свои привилегии
Кого касается и что делать
- Уязвимое ПО: Rancher (Rancher Labs) — версии от 2.6.0 до 2.7.2 включительно
- Что делать: уязвимость устранена производителем — применить исправления: github.com, github.com
Сведения об уязвимости
| Идентификаторы | BDU:2023-02885 · CVE-2023-22651 |
| Уровень опасности | Критический (базовая оценка CVSS 3.1 — 9.9; CVSS 2.0 — 9.0) |
| Вектор CVSS 3.1 | AV:N/ атака по сети, низкая сложность, нужны права пользователя, без участия пользователя, затрагивает смежные компоненты, высокое влияние на конфиденциальность, целостность и доступность |
| Наименование ФСТЭК | Уязвимость компонента Webhook программного обеспечения управления кластерами Kubernets Rancher, позволяющая нарушителю повысить свои привилегии |
| Даты | Опубликована: 29.05.2023 · Обновлена ФСТЭК: 29.05.2023 · Выявлена: 18.04.2023 |
| Статус уязвимости | Подтверждена производителем (производитель признал уязвимость) |
| Наличие эксплойта | Данные уточняются |
| Информация об устранении | Уязвимость устранена (исправление выпущено производителем; способ: обновление программного обеспечения) |
| Тип ошибки | CWE-269 — небезопасное управление привилегиями |
| Класс уязвимости | Уязвимость архитектуры · Способ эксплуатации: нарушение авторизации |
Уязвимое ПО
- Rancher (Rancher Labs) — от 2.6.0 до 2.7.2 включительно · прикладное ПО информационных систем
Возможные меры по устранению уязвимости
Обновление.
- Использование рекомендаций
- github.com/rancher/webhook/commit/a4a498613b43a3ee93c5ab0…
- github.com/rancher/rancher/security/advisories/GHSA-6m9f-…
Если обновиться нельзя
- Рекомендуется вручную перенастроить Webhook с помощью приведенного ниже сценария. Обратите внимание, что скрипт должен запускаться внутри local кластера или с kubeconfig, указывающим на local кластер с правами администратора
- #!/bin/bash
- set -euo pipefail
- function prereqs() {
- if! [ -x "$(command -v kubectl)" ]; then
- echo "error: kubectl is not installed." >&2
- exit 1
- fi
- if [[ -z "$(kubectl config view -o jsonpath='{.clusters[].cluster.server}')" ]]; then
- echo "error: No kubernetes cluster found on kubeconfig." >&2
- }
- function restart_deployment(){
- kubectl rollout restart deployment rancher-webhook -n cattle-system
- kubectl rollout status deployment rancher-webhook -n cattle-system —timeout=30s
- function workaround() {
- echo "Cluster: $(kubectl config view -o jsonpath='{.clusters[].cluster.server}')"
- if! kubectl get validatingwebhookconfigurations.admissionregistration.k8s.io rancher.cattle.io > /dev/null 2>&1; then
- echo "webhook rancher.cattle.io not found, restarting deployment:"
- restart_deployment
- echo "waiting for webhook configuration"
- sleep 15s
- local -i webhooks
- webhooks="$(kubectl get validatingwebhookconfigurations.admissionregistration.k8s.io rancher.cattle.io —no-headers | awk '{ print $2 }')"
- if [ "${webhooks}" == "0" ]; then
- echo "Webhook misconfiguration status: Cluster is affected by CVE-2023-22651"
- echo "Running workaround:"
- kubectl delete validatingwebhookconfiguration rancher.cattle.io
- ret=$?
- if [ $ret -eq 0 ]; then
- echo "Webhook restored, CVE-2023-22651 is fixed"
- … и ещё 8 пунктов



