Apache Shiro przed wersją 1.9.1 zawiera podatność umożliwiającą ominięcie mechanizmów autoryzacji poprzez nieprawidłową konfigurację komponentu RegexRequestMatcher. Błąd jest krytyczny, ponieważ nieuwierzytelniony atakujący sieciowy może uzyskać nieautoryzowany dostęp do chronionych zasobów aplikacji.
▸ Pokaż oryginał (EN)
Apache Shiro before 1.9.1, A RegexRequestMatcher can be misconfigured to be bypassed on some servlet containers. Applications using RegExPatternMatcher with `.` in the regular expression are possibly vulnerable to an authorization bypass.
Problem dotyczy komponentu RegexRequestMatcher, który może zostać błędnie skonfigurowany w taki sposób, że reguły autoryzacji oparte na wyrażeniach regularnych zawierających znak `.` stają się podatne na ominięcie. Na niektórych kontenerach serwletów specjalnie spreparowane żądanie HTTP może sprawić, że dopasowanie wyrażenia regularnego zakończy się niepowodzeniem lub da nieoczekiwany wynik. W efekcie mechanizm kontroli dostępu (RegExPatternMatcher) nie blokuje żądania, które powinno zostać odrzucone, zezwalając na dostęp do chronionych zasobów.
Atakujący bez żadnego uwierzytelnienia może ominąć reguły autoryzacji i uzyskać nieautoryzowany dostęp do chronionych zasobów aplikacji, co może prowadzić do ujawnienia poufnych danych, ich modyfikacji lub zakłócenia działania systemu.
Należy zaktualizować Apache Shiro do wersji 1.9.1 lub nowszej. Dodatkowo zaleca się przegląd konfiguracji wyrażeń regularnych w RegexRequestMatcher i unikanie stosowania znaku `.` bez odpowiedniego eskejpowania (`\.`) w regułach autoryzacji.
Apache Shiro w wersjach przed 1.9.1 — aplikacje wykorzystujące komponent RegExPatternMatcher z wyrażeniami regularnymi zawierającymi znak `.`, działające na podatnych kontenerach serwletów.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HApache Shiro
APPApache< 1.9.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 — authentication bypass w integracji ze Spring Boot
Apache Shiro — authentication bypass w integracji ze Spring