CVE-2026-63224
WysokieCVSS 7.2Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 27 - wyżej niż 27% wszystkich znanych CVE
Streszczenie
W platformie OpenRemote przed wersją 1.26.0 API eksportu datapointów konstruuje zapytanie SQL CSV crosstab poprzez konkatenację nazwy assetu i nazwy atrybutu, co pozwala uwierzytelnionemu użytkownikowi na wstrzyknięcie metaznaków SQL. Poprzez żądanie eksportu crosstab możliwe jest zwrócenie wyników wstrzykniętego SELECT w odpowiedzi ZIP/CSV, co umożliwia eksfiltrację danych z bazy. W środowisku wielodostępnym może to ujawnić dane innych najemców.
Ocena ryzyka
Uwierzytelniony użytkownik z uprawnieniami do tworzenia lub zmiany nazw assetów może wykradać dane z bazy bez bezpośredniego dostępu do bazy lub systemu plików. W środowisku wielodostępnym ryzyko obejmuje dane innych najemców.
Rekomendacja
Zaktualizuj OpenRemote do wersji 1.26.0 lub nowszej. Ogranicz uprawnienia do tworzenia i zmiany nazw assetów oraz eksportu datapointów do niezbędnego minimum.
Inne podatności w OpenRemote
Zobacz wszystkie- CVE-2026-66013Krytyczne
OpenRemote przed wersją 1.26.2 zawiera podatność na ominięcie uwierzytelniania w API rejestracji konsoli, co pozwala nieuwierzytelnionym atakującym na aktualizację istniejących zasobów konsoli poprzez podanie znanego identyfikatora zasobu.
- CVE-2026-116186Niskie
OpenRemote core (openremote-manager) przed 1.31.0 nie wykonuje autoryzacji realm ani potomnych bramy dla przychodzących zdarzeń bramy brzegowej i mapuje identyfikatory zasobów zdarzeń wyłącznie przez odwracalną transformację GatewayConnector.mapAssetId. Atakujący kontrolujący zarejestrowaną bramę może spreparować identyfikatory pre-image w komunikatach AttributeEvent lub DELETE AssetEvent, aby nadpisać atrybuty lub usunąć zasoby w dowolnym realm, naruszając izolację dzierżawców.
- CVE-2026-116184Niskie
OpenRemote przed 1.31.0 zawiera podatność na obejście autoryzacji, która pozwala administratorom realm podszywać się pod bramy w innych realmach, ponieważ GatewayService sprawdza tylko identyfikator bramy, a nie realm. Atakujący z uprawnieniem WRITE:ADMIN w jednym realm może utworzyć użytkownika usługi o nazwie odpowiadającej identyfikatorowi bramy innego realm, aby nadpisać jej zasoby potomne i otworzyć tunele SSH do jej sieci lokalnej.
- CVE-2026-114661Wysokie
OpenRemote w wersjach od 1.2.0 do 1.31.0 zawiera lukę braku autoryzacji w GatewayServiceResource, która pozwala każdemu uwierzytelnionemu użytkownikowi na uruchamianie, zatrzymywanie i odpytywanie tuneli bramy bez roli administracyjnej. Atakujący może wysyłać żądania POST lub DELETE do punktu końcowego tunelu bramy, aby otworzyć trwałe dwukierunkowe obwody TCP do sieci bramy brzegowej lub zniszczyć tunele operatora.
- CVE-2026-54641Wysokie
OpenRemote to otwartoźródłowa platforma internetu rzeczy. Przed wersją 1.24.2, metody get, getUserClientRoles i getUserRealmRoles autoryzują wywołujących z rolą read:admin bez potwierdzenia, że docelowe UUID należy do żądanego i uwierzytelnionego realm. Administrator realm może pobrać dane użytkownika z innej dzierżawy lub realm master, łamiąc izolację dzierżaw.
- CVE-2026-54640Wysokie
OpenRemote to otwartoźródłowa platforma internetu rzeczy. Przed wersją 1.24.2, metoda KNXProtocol.startAssetImport przetwarza plik 0.xml z przesłanego projektu ETS ZIP z parserami XML, które pozwalają na rozwiązywanie encji zewnętrznych, co umożliwia odczyt plików dostępnych dla procesu JVM lub wykonywanie żądań po stronie serwera.
- CVE-2026-49439Średnie
OpenRemote w wersjach przed 1.24.1 pozwala użytkownikom z uprawnieniami tylko read:assets na zapis przewidywanych punktów danych poprzez endpoint zapisu przewidywanych punktów danych. Wersja 1.24.1 naprawia ten problem.
- CVE-2026-81679Wysokie
OpenRemote przed wersją 1.28.0 zawiera podatność na ujawnienie informacji między domenami w API REST powiadomień. Administratorzy dzierżawy mogą odczytać wysłane powiadomienia wszystkich dzierżaw, w tym treści wiadomości, wysyłając żądanie GET bez parametrów do punktu końcowego powiadomień.
- CVE-2026-73616Średnie
Punkty końcowe usuwania powiadomień w OpenRemote nie egzekwują granic domen (realm), co pozwala każdemu administratorowi domeny na usuwanie powiadomień należących do innych domen. Atakujący z rolą write:admin w jednej domenie mogą wysyłać żądania DELETE, aby usuwać powiadomienia z domeny głównej lub innych dzierżawców bez kontroli autoryzacji.
- CVE-2026-67310Średnie
OpenRemote (org.openremote:openremote) w wersjach do 1.26.2 zawiera podatność na bezpośrednie odwołanie do niebezpiecznego obiektu (IDOR) w punkcie końcowym setAssetLinks w AlarmResourceImpl. Sprawdzanie dostępu do domeny (realm) waliduje tylko pojedynczą domenę uzyskaną przez realms.stream().findFirst() na HashSet domen z żądania, zamiast wszystkich domen. Ze względu na niedeterministyczną kolejność iteracji HashSet, uwierzytelniony atakujący może z około 50% prawdopodobieństwem na żądanie (z możliwością ponowienia) utrwalić linki między domenami i ujawnić nazwy zasobów ofiary.
Oryginalny opis (angielski, źródło NVD)
OpenRemote is an open-source internet-of-things platform. Prior to 1.26.0, the `datapoint export` API constructs `CSV crosstab` SQL by concatenating an `asset name` and `attribute name` into a `COPY` query that uses `crosstab` and streams `TO STDOUT`. The `asset name` enters both a double-quoted column identifier and a category query enclosed by the fixed `$cat$` delimiter. Escaping single quotes in one string context does not escape embedded double quotes in identifiers or protect that dollar-quote boundary. An authenticated user permitted to create or rename an asset and read/export datapoints for one of its attributes can store SQL metacharacters in the name and request a `crosstab` export, causing injected SELECT output to be returned in the normal ZIP/CSV response. This enables database exfiltration without direct database or filesystem access or token forgery. In a multi-tenant deployment it can expose other tenants' data if the manager's database role can read shared tables; integrity and availability effects are not established by the demonstrated read primitive. This issue is fixed in version 1.26.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

