
Воспроизводимая лабораторная среда, демонстрирующая обход авторизации Spring Security CVE-2022-22978 с помощью закодированных символов новой строки в RegexRequestMatcher.
RegexRequestMatcher, который назначает права доступа с помощью регулярных выражений, если URL запроса содержит символы новой строки, возможен обход авторизации.%0a, %0d, для обхода прав доступа к странице администратора (/admin).docker compose up -d для подготовки тестовой среды.http://localhost:8080/admin, чтобы убедиться, что доступ к странице администратора заблокирован.http://localhost:8080/admin/%0atest, чтобы получить доступ к странице администратора.
Уязвимая среда настроена.

Доступ к странице администратора заблокирован.

%0d обозначает '\r', а %0a — '\n'. Отправка запроса с использованием %0d или %0a позволяет обойти права доступа.
Если URL содержит символы новой строки, такие как %0a, %0d, при фильтрации пути запроса в RegexRequestMatcher обработка этих символов пропускается, что позволяет обойти авторизацию. Злоумышленник может через обход авторизации получить доступ к странице администратора и похитить важную информацию, поэтому требуется осторожность.
Ссылка на GitHub: https://github.com/he-ewo/CVE-2022-22978.git