Apache Shiro przed wersją 1.7.1, używany razem z frameworkiem Spring, jest podatny na pominięcie uwierzytelnienia poprzez specjalnie spreparowane żądanie HTTP. Podatność otrzymała krytyczny wynik CVSS 9.8, co oznacza możliwość całkowitego przejęcia kontroli nad aplikacją bez jakichkolwiek uprawnień.
▸ Pokaż oryginał (EN)
Apache Shiro before 1.7.1, when using Apache Shiro with Spring, a specially crafted HTTP request may cause an authentication bypass.
Atakujący wysyła specjalnie spreparowane żądanie HTTP, które powoduje nieprawidłowe przetworzenie ścieżki URL przez mechanizm uwierzytelnienia Apache Shiro w połączeniu ze Spring. Rozbieżność w interpretacji ścieżki pomiędzy Shiro a Spring pozwala na ominięcie reguł dostępu zdefiniowanych w konfiguracji bezpieczeństwa. W efekcie żądanie do chronionego zasobu zostaje obsłużone bez wymagania od użytkownika przejścia procesu uwierzytelnienia (CWE-287 — nieprawidłowe uwierzytelnienie).
Atakujący zdalny i nieuwierzytelniony może uzyskać dostęp do chronionych zasobów aplikacji, co prowadzi do naruszenia poufności, integralności oraz dostępności systemu — w tym potencjalnie do przejęcia pełnej kontroli nad aplikacją.
Należy zaktualizować Apache Shiro do wersji 1.7.1 lub nowszej. Jeśli natychmiastowa aktualizacja nie jest możliwa, zaleca się ograniczenie dostępu do aplikacji na poziomie sieci oraz przegląd konfiguracji reguł dostępu Shiro pod kątem potencjalnych niespójności ze Spring.
Apache Shiro w wersjach przed 1.7.1, wyłącznie w przypadku stosowania integracji Apache Shiro z frameworkiem Spring.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HApache Shiro
APPApache< 1.7.1
Powiązane podatności
Apache Shiro RCE przez nieskonfigurowany klucz szyfrowania 'remember me'
Apache Shiro: path traversal prowadzący do obejścia uwierzytelnienia
Apache Shiro – pominięcie uwierzytelnienia przez RequestDispatcher
Apache Shiro — ominięcie autoryzacji przez błędną konfigurację RegexRequestMatcher
Apache Shiro — authentication bypass w integracji ze Spring Boot