К обсуждениям

Keycloak: bulk role removal проверяет каждый mapping

Редакция VOne Технологии

Безопасная проверка Keycloak admin-ui-ext bulk role removal по ghsa-6w3v-mcfh-m3q7: применимость, обратимый fixture, actor / target / role / granular-check / batch-verdict / deletes / rollback, PASS и stop-rule без production-данных.

Разберите симптом Keycloak admin-ui-ext bulk role removal

Отдельная пользовательская боль: делегированный admin удаляет privileged role mapping без granular permission на target. Reviewed advisory описывает «Keycloak Admin UI REST Extensions: bulk role-removal endpoints fail to perform granular permission checks»; практический механизм: Bulk endpoint не может заменить per-item authorization общей проверкой доступа к UI. Вся batch должна пройти target/role checks до первой mutation. Проверяем invariant «для каждого target и role mapping подтверждается granular manage permission до атомарного удаления batch», а не общий класс проблем. Запись ghsa-6w3v-mcfh-m3q7 опубликована 2026-06-11, обновлена 2026-08-19; ecosystem boundary: «maven/org.keycloak:keycloak-rest-admin-ui-ext < 26.7.0; first patched 26.7.0». Это не доказывает affected code в fork, факт эксплуатации, популярность или поисковый спрос.

Сопоставьте runtime и безопасный control

Зафиксируйте source package, runtime version, build digest, commit provenance, feature/config state и роль, достигающую ветви. Нормальный control: разрешённый low-role mapping удаляется в отдельной valid batch. Отдельно укажите самый ранний read/write/send/execute/cache/credential side effect. Если provenance или reachability неизвестна, статус unknown. Версионный диапазон «maven/org.keycloak:keycloak-rest-admin-ui-ext < 26.7.0; first patched 26.7.0» — фильтр; backport подтверждается diff и поведением, а не предположением.

Запустите обратимый fixture

Лабораторный опыт: Service test создаст limited admin, two targets и low/high roles; transaction/repository заменены counters. Все идентификаторы и данные синтетические; network отключён или заменён recorder, filesystem ограничен mkdtemp, persistence — memory adapter/rollback. До запуска сохраните input digest, ожидаемое правило «любая unauthorized mapping отклоняет весь batch, delete counter нулевой» и нулевые counters. После — строку «actor / target / role / granular-check / batch-verdict / deletes / rollback», final-state digest и cleanup proof. Реальный payload, credential, нагрузка или production mutation запрещены.

Прочитайте матрицу actor / target / role / granular-check / batch-verdict / deletes / rollback

Убедитесь, что control прошёл именно нужную ветвь, затем найдите stage policy и любой чувствительный action. PASS возможен только если любая unauthorized mapping отклоняет весь batch, delete counter нулевой. Один status code, отсутствие exception или запись в лог не доказывают защиту. Для concurrency/state boundary используйте fixed barriers и малый детерминированный повтор. Любой неожиданный side effect переводит результат в fail/unknown до объяснения и полного cleanup.

Свяжите patch, stop-rule и решение

Diff исправления должен реализовать смысл «для каждого target и role mapping подтверждается granular manage permission до атомарного удаления batch» до side effect. Красные флаги: fail-open, policy после action, несовпадение requested/effective target, неполный transport/path coverage или отсутствующий negative control. Stop-rule: не обращаться к realm и не изменять role mapping. Также остановитесь при privilege prompt, реальных данных, необратимой записи, росте ресурсов или невозможности cleanup. Дерево: proven patched — not-applicable; недостижимо — not-reachable; PASS — ready-for-reviewed-update; наблюдается «делегированный admin удаляет privileged role mapping без granular permission на target» — fail; иначе unknown. В support packet включите ghsa-6w3v-mcfh-m3q7, build provenance, «actor / target / role / granular-check / batch-verdict / deletes / rollback», expected/observed, stop reason и две source URL без секретов/персональных данных. Production rollout требует отдельного backup, canary, readiness и rollback.

Материал подготовлен редакцией VOne с помощью ИИ; даты, диапазоны, прямые источники, безопасный fixture, privacy-границы и отсутствие рекламных обещаний затем перепроверены.

Источники и проверка

Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.

Ответы

0 опубликовано
Ответов пока нет. Вы можете начать обсуждение.

Ваш ответ

Добавьте свой опыт или уточнение по теме.

Вы публикуете как Аноним Аватар отличает разговоры, но не раскрывает личные данные.

Ответ появится сразу. Не публикуйте личные данные, ключи и приватные ссылки.