CVE-2026-82028
WysokieCVSS 8.8Streszczenie
Magistrala przed wersją 1.0.0 zawiera podatność na wstrzyknięcie SQL w usługach HTTP timescale-reader i postgres-reader, umożliwiającą uwierzytelnionym atakującym wstrzyknięcie dowolnego SQL przez parametr format.
Ocena ryzyka
Atakujący z samodzielnie zarejestrowanym kontem może czytać dane innych dzierżawców, wyodrębnić hasze haseł, czytać i zapisywać pliki oraz wykonywać kod jako użytkownik postgres, co prowadzi do pełnej kompromitacji bazy danych.
Rekomendacja
Zaktualizuj Magistralę do wersji 1.0.0 lub nowszej, która zawiera poprawki zabezpieczające przed wstrzyknięciem SQL.
Inne podatności w Magistrala
Zobacz wszystkie- CVE-2026-71276Wysokie
API czytników wiadomości w Magistrala (dawniej Mainflux) odczytuje wartość z ciągu zapytania HTTP (readers/api/http/transport.go) bez walidacji i interpoluje ją bezpośrednio do surowych zapytań SQL za pomocą fmt.Sprintf zarówno w czytniku PostgreSQL (readers/postgres/messages.go: ), jak i w czytniku TimescaleDB (readers/timescale/messages.go, ten sam wzorzec), umożliwiając wstrzyknięcie SQL przez każdego uwierzytelnionego użytkownika, który może odpytywać wiadomości kanału.
- CVE-2026-71235Wysokie
Silnik reguł Magistrala pozwala uwierzytelnionym użytkownikom tworzyć reguły z osadzonymi skryptami Go lub Lua, które są wykonywane po stronie serwera po otrzymaniu wiadomości IoT. Silnik Lua (re/lua.go) nie przeprowadza żadnej walidacji danych wejściowych i wstępnie ładuje niebezpieczne biblioteki: db (dowolny dostęp do bazy), ioutil (operacje na plikach), klient HTTP (SSRF) i filepath (traversal).
Oryginalny opis (angielski, źródło NVD)
Magistrala before 1.0.0 contains a SQL injection vulnerability in the timescale-reader and postgres-reader HTTP API services that allows authenticated attackers to inject arbitrary SQL by supplying a malicious format query parameter that is interpolated directly into the FROM clause without parameterization or identifier quoting. Attackers with a self-registered account can substitute arbitrary subqueries to achieve cross-tenant database reads, extract pg_shadow password hashes, read and write arbitrary files, and execute arbitrary code as the postgres OS user by loading attacker-supplied shared objects, with all injected SQL executing at superuser privilege due to the default PostgreSQL role configuration.

