W OpenC3 COSMOS w wersjach od 6.7.0 do 7.0.0-rc3 wykryto podatność SQL injection w komponencie Time-Series Database (TSDB). Zalogowany użytkownik może wykonywać dowolne polecenia SQL, w tym usuwać dane z bazy.
▸ Pokaż oryginał (EN)
OpenC3 COSMOS provides the functionality needed to send commands to and receive data from one or more embedded systems. From version 6.7.0 to before version 7.0.0-rc3, a SQL injection vulnerability exists in the Time-Series Database (TSDB) component of COSMOS. The tsdb_lookup function in the cvt_model.rb file directly places user-supplied input into a SQL query without sanitizing the input. As a result, a user can break out of the initial SQL statement and execute arbitrary SQL commands, including deleting data. This issue has been patched in version 7.0.0-rc3.
Funkcja tsdb_lookup w pliku cvt_model.rb bezpośrednio osadza dane wejściowe dostarczone przez użytkownika w zapytaniu SQL bez uprzedniej sanityzacji. Atakujący może przerwać pierwotne zapytanie SQL i dołączyć własne, arbitralne polecenia SQL. Podatność jest dostępna zdalnie dla uwierzytelnionego użytkownika bez konieczności interakcji po stronie ofiary, a jej wykorzystanie nie wymaga wysokich uprawnień (PR:L).
Atakujący może odczytywać, modyfikować oraz usuwać dane zgromadzone w bazie danych systemu COSMOS, a także potencjalnie wpływać na dane z monitorowanych systemów wbudowanych. Wysoki wpływ na poufność i integralność danych (C:H, I:H) przy braku wpływu na dostępność (A:N).
Należy zaktualizować OpenC3 COSMOS do wersji 7.0.0-rc3 lub nowszej, w której podatność została usunięta. Szczegóły dostępne w referencjach producenta: https://github.com/OpenC3/cosmos/releases/tag/v7.0.0-rc3
OpenC3 COSMOS w wersjach od 6.7.0 do (nie włącznie) 7.0.0-rc3
Podatność zgłoszona i załatana w ramach procesu GitHub Security Advisories (GHSA-v529-vhwc-wfc5). Poprawka dostępna w commicie 9ba60c09c8836a37a2e4ea67ab35fe403e041415.
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:NOpenc3 Cosmos
APPOpenc37.0.06.7.0 – 7.0.0 (bez)
Powiązane podatności
OpenC3 COSMOS: ominięcie uprawnień API i dostęp do usług wewnętrznych sieci Docker
Path Traversal w endpoincie /script-api/scripts/ OpenC3 COSMOS
RCE w komponencie Plugin Management OpenC3 COSMOS poprzez spreparowany plik .txt
OpenC3 COSMOS — hardcoded credentials w koncie Service Account
OpenC3 COSMOS: Obejście uwierzytelnienia przez słabe wymagania haseł