Podatność w mikrousłudze Homarus wchodzącej w skład pakietu Crayfish (Islandora 8) umożliwia zdalne wykonanie kodu (RCE) w instalacjach dostępnych z sieci Web. Ocena CVSS 9.8 wskazuje na krytyczny poziom zagrożenia — atakujący nie potrzebuje uwierzytelnienia ani interakcji użytkownika.
▸ Pokaż oryginał (EN)
Crayfish is a collection of Islandora 8 microservices, one of which, Homarus, provides FFmpeg as a microservice. Prior to Crayfish version 4.1.0, remote code execution may be possible in web-accessible installations of Homarus in certain configurations. The issue has been patched in `islandora/crayfish:4.1.0`. Some workarounds are available. The exploit requires making a request against the Homarus's `/convert` endpoint; therefore, the ability to exploit is much reduced if the microservice is not directly accessible from the Internet, so: Prevent general access from the Internet from hitting Homarus. Alternatively or additionally, configure auth in Crayfish to be more strongly required, such that requests with `Authorization` headers that do not validate are rejected before the problematic CLI interpolation occurs.
Podatność wynika z nieprawidłowej obsługi danych wejściowych przesyłanych do endpointu `/convert` mikrousługi Homarus, która udostępnia FFmpeg jako usługę sieciową. Wejście użytkownika jest interpolowane bezpośrednio do wywołania wiersza poleceń (CLI interpolation) bez odpowiedniej walidacji lub neutralizacji, co odpowiada klasyfikacji CWE-150 i CWE-157. Atakujący może spreparować żądanie HTTP zawierające złośliwy payload, który zostanie wykonany jako polecenie systemowe po stronie serwera. Ryzyko jest istotnie ograniczone, gdy microservice nie jest bezpośrednio dostępny z Internetu lub gdy mechanizm autoryzacji poprawnie odrzuca nieuwierzytelnione żądania zanim dojdzie do interpolacji.
Atakujący może uzyskać pełną kontrolę nad systemem, na którym działa Homarus, w tym możliwość odczytu i modyfikacji danych oraz naruszenia dostępności usługi (pełna triada CIA). W scenariuszu bez uwierzytelnienia podatność jest exploitowalna zdalnie przez dowolnego atakującego sieciowego.
Należy zaktualizować pakiet do wersji islandora/crayfish:4.1.0, w której podatność została usunięta. Jako obejście (workaround) należy ograniczyć dostęp do Homarus z Internetu na poziomie sieci/firewall oraz skonfigurować wymaganie silniejszego uwierzytelniania w Crayfish, tak aby żądania z nieprawidłowymi nagłówkami Authorization były odrzucane przed wystąpieniem podatnej interpolacji CLI.
Pakiet Crayfish (islandora/crayfish) w wersjach wcześniejszych niż 4.1.0, w szczególności instalacje, w których mikrousługa Homarus jest dostępna bezpośrednio z sieci Internet.
Podatność dotyczy wyłącznie instalacji, w których Homarus jest bezpośrednio dostępny z Internetu; ograniczenie dostępu sieciowego lub wymuszenie poprawnej autoryzacji znacząco redukuje powierzchnię ataku. Patch dostępny w commicie 64cb4cec688928798cc40e6f0a0e863d7f69fd89 na GitHub.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H