Две уязвимости средней степени серьезности были обнаружены в популярных фреймворках Spring Framework и Spring Security. Проблемы, опубликованные 15 сентября 2025 года, связаны с механизмом обнаружения аннотаций, используемым в функции методной безопасности Spring Security, и могут приводить к обходу авторизации в приложениях, использующих параметризованные типы или неограниченные универсальные суперклассы.
Детали уязвимостей
Уязвимости, получившие идентификаторы CVE-2025-41248 и CVE-2025-41249, затрагивают механизм @EnableMethodSecurity, который отвечает за обнаружение аннотаций уровня методов, таких как @PreAuthorize, для применения контроля доступа. В определенных иерархиях типов, где суперкласс или интерфейс используют неограниченные универсальные шаблоны, фреймворк может некорректно разрешать аннотации на унаследованных методах.
Злоумышленники могут воспользоваться этой особенностью, вызывая защищенные методы без надлежащих проверок разрешений, что фактически позволяет обходить систему авторизации. Первая проблема (CVE-2025-41248) затрагивает Spring Security версий от 6.4.0 до 6.4.9 и от 6.5.0 до 6.5.3, специфически касаясь аннотаций безопасности методов на параметризованных типах. Вторая уязвимость (CVE-2025-41249) охватывает Spring Framework версий от 5.3.0 до 5.3.44, от 6.1.0 до 6.1.22, и от 6.2.0 до 6.2.10, а также более старые неподдерживаемые выпуски.
Обе уязвимости были ответственно сообщены анонимным исследователем и опубликованы одновременно. Организации, использующие аннотации уровня методов Spring Security на универсальных суперклассах или интерфейсах, подвержены риску несанкционированного вызова методов. Приложения, которые не используют @EnableMethodSecurity или не применяют аннотации безопасности на универсальных типах, остаются незатронутыми.
Для устранения CVE-2025-41248 пользователям следует обновить Spring Security до версий 6.4.10 или 6.5.4. Для CVE-2025-41249 исправленные версии включают Spring Framework 5.3.45, 6.1.23 (коммерческая) и 6.2.11. Других шагов по смягчению, кроме обновления, не требуется. Если немедленное обновление невозможно, разработчики могут обойти CVE-2025-41248, объявляя все защищенные методы непосредственно в целевых классах, а не наследуя их из универсальных суперклассов.
Командам разработчиков рекомендуется провести аудит своих кодовых баз на предмет использования @EnableMethodSecurity и аннотаций уровня методов на универсальных типах. Конвейеры непрерывной интеграции могут включать автоматическое сканирование зависимостей для выявления уязвимых версий Spring. Обновление до рекомендованных исправленных версий восстановит корректное разрешение аннотаций и предотвратит обход безопасности. В заключение, командам следует пересмотреть свои наборы тестов контроля доступа, чтобы убедиться, что унаследованные методы должным образом покрыты.