Podatność w OpenRemote (do wersji 1.0.4 włącznie) umożliwia nieuwierzytelnionemu atakującemu wykonanie dowolnego kodu poprzez spreparowaną regułę w języku Groovy. Krytyczny poziom zagrożenia wynika z braku wymogu uwierzytelnienia oraz pełnego wpływu na poufność, integralność i dostępność systemu.
▸ Pokaż oryginał (EN)
An issue was discovered in OpenRemote through 1.0.4 allows attackers to execute arbitrary code via a crafted Groovy rule.
OpenRemote pozwala na definiowanie reguł automatyzacji przy użyciu języka skryptowego Groovy. Mechanizm przetwarzania tych reguł nie stosuje odpowiednich zabezpieczeń (sandboxingu) ograniczających możliwości wykonywanych skryptów. Atakujący może dostarczyć spreparowaną regułę Groovy zawierającą złośliwy kod, który zostanie wykonany bezpośrednio przez silnik reguł po stronie serwera, bez konieczności posiadania uprawnień.
Atakujący może przejąć pełną kontrolę nad serwerem, na którym działa OpenRemote — w tym odczytać, zmodyfikować lub usunąć dane, a także uzyskać dostęp do innych systemów w sieci. Skutkiem może być całkowite przejęcie środowiska IoT/automatyki zarządzanego przez platformę.
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Tymczasowo zaleca się ograniczenie dostępu do interfejsu konfiguracji reguł wyłącznie do zaufanych użytkowników oraz izolację instancji OpenRemote od sieci publicznej za pomocą firewall.
OpenRemote w wersji do 1.0.4 włącznie
Referencje wskazują na publiczny wpis blogowy opisujący podatność (securityblog101.blogspot.com), co sugeruje dostępność publicznych informacji technicznych. Brak braku sandboxingu reguł Groovy potwierdzają odwołania do dyskusji o najlepszych praktykach sandboxingu Groovy Shell (Stack Overflow).
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HOpenremote
APPOpenremote≤ 1.0.4
Powiązane podatności
RCE przez injection wyrażeń w silniku reguł OpenRemote (IoT)
SQL injection w OpenRemote — eksport danych przez endpoint crosstab
OpenRemote is an open-source internet-of-things platform. Prior to version 1.22.0, the Velbus asset import pat...
OpenRemote is an open-source internet-of-things platform. Prior to version 1.22.1, a user who has `write:admin...