Apache Shiro przed wersją 1.2.5 umożliwia zdalnemu atakującemu wykonanie dowolnego kodu lub ominięcie kontroli dostępu, gdy nie skonfigurowano klucza szyfrowania dla funkcji 'remember me'. Podatność jest aktywnie wykorzystywana w atakach i posiada ocenę CVSS 9.8 (CRITICAL).
▸ Pokaż oryginał (EN)
Apache Shiro before 1.2.5, when a cipher key has not been configured for the "remember me" feature, allows remote attackers to execute arbitrary code or bypass intended access restrictions via an unspecified request parameter.
Gdy administrator nie skonfiguruje własnego klucza szyfrowania (cipher key) dla mechanizmu 'remember me', Apache Shiro korzysta z domyślnego, publicznie znanego klucza. Atakujący może spreparować złośliwy, serializowany obiekt Java, zaszyfrować go tym domyślnym kluczem i przesłać jako parametr żądania HTTP. Po stronie serwera Shiro deszyfruje i deserializuje odebrany obiekt bez weryfikacji jego pochodzenia, co prowadzi do wykonania zawartego w nim kodu (RCE) lub ominięcia mechanizmów uwierzytelnienia.
Atakujący niewymagający żadnego uwierzytelnienia może wykonać dowolny kod na serwerze z uprawnieniami procesu aplikacji lub całkowicie ominąć mechanizmy kontroli dostępu, co w praktyce oznacza pełne przejęcie kontroli nad aplikacją i serwerem.
Należy zaktualizować Apache Shiro do wersji 1.2.5 lub nowszej. Konieczne jest również skonfigurowanie silnego, losowego klucza szyfrowania dla funkcji 'remember me' w pliku konfiguracyjnym aplikacji. Użytkownicy Red Hat powinni zastosować patche opisane w erratach RHSA-2016-2035 oraz RHSA-2016-2036.
Apache Shiro w wersjach przed 1.2.5; problem dotyczy również środowisk opartych na Apache Aurora, Red Hat Fuse oraz Red Hat JBoss Middleware, które korzystały z podatnych wersji Shiro.
Podatność figuruje w katalogu CISA KEV jako aktywnie exploitowana. Publicznie dostępne są exploity na platformie Packet Storm Security (zarówno dla ujawnienia informacji, jak i dla RCE względem wersji 1.2.4). CWE-321 wskazuje wprost na użycie zakodowanego na stałe (hardcoded) klucza kryptograficznego jako pierwotną przyczynę podatności.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HApache Aurora
APPApache0.10.0 – 0.18.1 (bez)Apache Shiro
APPApache< 1.2.5Red Hat Fuse
APPRedhat1.0Red Hat Jboss Middleware Text Only Advisories
APPRedhat1.0
CISA KEV — szczegółyi
- Dostawcai
- Apache ↗
- Produkti
- Shiro
- Data dodania do KEVi
- 3 listopada 2021
- Termin remediation (USA)i
- 3 maja 2022(po terminie)
Zastosuj aktualizacje zgodnie z instrukcjami producenta.
▸ Pokaż oryginał (EN)
Apply updates per vendor instructions.
Apache Shiro zawiera lukę, która może umożliwić zdalnym atakującym wykonanie kodu lub obejście zamierzonych ograniczeń dostępu za pośrednictwem nieokreślonego parametru żądania, gdy klucz szyfrowania nie został skonfigurowany dla funkcji "remember me".
▸ Pokaż oryginał (EN)
Apache Shiro contains a vulnerability which may allow remote attackers to execute code or bypass intended access restrictions via an unspecified request parameter when a cipher key has not been configured for the "remember me" feature.
Powiązane podatności
Elasticsearch: ucieczka z sandboksa Groovy i zdalne wykonanie poleceń
Brak walidacji nagłówka Host w serwerze Undertow HTTP
Apache Aurora — padding oracle umożliwia fałszowanie cookie uwierzytelniającego
Apache Shiro: path traversal prowadzący do obejścia uwierzytelnienia
Apache Shiro – pominięcie uwierzytelnienia przez RequestDispatcher