Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
GSSC-CVE-2022-41923 — Руководство по обходному решению уязвимости управления привилегиями CVE-2022-41923 в плагине Grails Spring Security Core, предоставляющее исправленные определения фильтров для конфигураций Annotation, InterceptUrlMap и Requestmap. | Kitploit
Инструменты/GitHubGitHub/grails/gssc-cve-2022-41923
Аутентификация и авторизацияАнализ уязвимостейАнализ КодаВеб-безопасностьНеправильная КонфигурацияОбучение и ОбразованиеArchived
GitHubgrails/gssc-cve-2022-41923

GSSC-CVE-2022-41923

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Руководство по обходному решению уязвимости управления привилегиями CVE-2022-41923 в плагине Grails Spring Security Core, предоставляющее исправленные определения фильтров для конфигураций Annotation, InterceptUrlMap и Requestmap.

Репозиторий
783 лет назадЕщё не проверено

Обходной путь для CVE-2022-41923: Уязвимость управления привилегиями

Краткое описание

Уязвимость CVE-2022-41923, обнаруженная в непатченном плагине Grails Spring Security Core (GSSC), может привести к некорректному управлению привилегиями. В этом репозитории описан способ обойти проблему.

Если вы используете непатченную версию плагина, настоятельно рекомендуем обновиться до исправленной версии. Если вы не можете обновиться немедленно, рекомендуем реализовать обходной путь, описанный в этом документе. Это особенно важно, если вы используете плагин GSSC версии 2.x, так как для версии 2.x патч недоступен.

Подготовка

Чтобы правильно настроить обходной путь, вам необходимо знать:

  • Версию плагина GSSC, используемую вашим приложением. Найдите номер версии в файле build.gradle. (Для Grails 2.x — в файле BuildConfig.groovy).

  • Тип используемой конфигурации безопасности: значение параметра grails.plugin.springsecurity.securityConfigType

Значение конфигурацииСсылка на документацию
Annotation (по умолчанию)

Примечание: Во всех инструкциях и конфигурациях ниже используется пакет demo. Измените этот пакет в соответствии с вашим приложением и местом размещения исправленных исходных файлов.

Обходной путь для плагина GSSC (версии 3.x – 5.x)

Определите необходимый класс обходного пути в зависимости от типа конфигурации безопасности.

Значение конфигурацииКласс обходного пути
AnnotationPatchedAnnotationFilterInvocationDefinition
InterceptUrlMapPatchedInterceptUrlMapFilterInvocationDefinition
Requestmap

Скопируйте соответствующий исходный файл в ваше дерево исходных кодов src/main/groovy.

Наконец, добавьте следующую конфигурацию в файл application.groovy, заменив PatchedAnnotationFilterInvocationDefinition на требуемый класс обходного пути.

root@kitploit:~
grails.plugin.springsecurity.objectDefinitionSourceBeanClass = 'demo.PatchedAnnotationFilterInvocationDefinition'

Обходной путь для плагина GSSC (версия 2.x)

Как и выше, определите необходимый класс обходного пути в зависимости от типа конфигурации безопасности. Скопируйте соответствующий исходный файл в ваше дерево исходных кодов src/groovy. Затем отредактируйте конфигурацию бинов в соответствии с типом конфигурации безопасности вашего приложения.

Тип конфигурации безопасности: Annotation

Если используется тип конфигурации безопасности Annotation, отредактируйте grails-app/conf/spring/resources.groovy, добавив:

root@kitploit:~
import demo.PatchedAnnotationFilterInvocationDefinition
import grails.plugin.springsecurity.SpringSecurityUtils

beans = {
    def conf = SpringSecurityUtils.securityConfig
    objectDefinitionSource(demo.PatchedAnnotationFilterInvocationDefinition) {
        application = ref('grailsApplication')
        grailsUrlConverter = ref('grailsUrlConverter')
        responseMimeTypesApi = ref('responseMimeTypesApi')
        boolean lowercase = conf.controllerAnnotations.lowercase
        if (conf.rejectIfNoRule instanceof Boolean) {
            rejectIfNoRule = conf.rejectIfNoRule
        }
    }

    // ... существующая конфигурация бинов ...
}

Тип конфигурации безопасности: Static Map

Если используется тип конфигурации безопасности InterceptUrlMap, отредактируйте grails-app/conf/spring/resources.groovy, добавив:

root@kitploit:~
import demo.PatchedInterceptUrlMapFilterInvocationDefinition
import grails.plugin.springsecurity.SpringSecurityUtils

beans = {
    def conf = SpringSecurityUtils.securityConfig
    objectDefinitionSource(demo.PatchedInterceptUrlMapFilterInvocationDefinition) {
        if (conf.rejectIfNoRule instanceof Boolean) {
            rejectIfNoRule = conf.rejectIfNoRule
        }
    }

    // ... существующая конфигурация бинов ...
}

Тип конфигурации безопасности: Requestmap Instances

Если используется тип конфигурации безопасности Requestmap, отредактируйте grails-app/conf/spring/resources.groovy, добавив:

root@kitploit:~
import demo.PatchedRequestmapFilterInvocationDefinition
import grails.plugin.springsecurity.SpringSecurityUtils

beans = {
    def conf = SpringSecurityUtils.securityConfig
    objectDefinitionSource(demo.PatchedRequestmapFilterInvocationDefinition) {
        if (conf.rejectIfNoRule instanceof Boolean) {
            rejectIfNoRule = conf.rejectIfNoRule
        }
    }

    // ... существующая конфигурация бинов ...
}

Дополнительная информация

Дополнительные сведения об этой уязвимости вы найдёте в блоге Grails.

Обсуждения и вопросы можно направлять в соответствующий issue на GitHub плагина Grails Spring Security Core.

Скачать инструмент
Secured Annotations
InterceptUrlMapStatic Map
RequestmapRequestmap Instances
PatchedRequestmapFilterInvocationDefinition