Connected IO w wersji 2.1.0 i wcześniejszych zawiera zakodowane na stałe w firmware dane uwierzytelniające (login i hasło) wykorzystywane do komunikacji urządzeń przez protokół MQTT. Podatność umożliwia atakującemu pełne ominięcie uwierzytelnienia i podszywanie się pod dowolne urządzenia w sieci.
▸ Pokaż oryginał (EN)
Connected IO v2.1.0 and prior uses a hard-coded username/password pair embedded in their device's firmware used for device communication using MQTT. An attacker who gained access to these credentials is able to connect to the MQTT broker and send messages on behalf of devices, impersonating them. in order to sign and verify JWT session tokens, allowing attackers to sign arbitrary session tokens and bypass authentication.
Firmware urządzeń Connected IO zawiera hard-coded parę login/hasło używaną do komunikacji przez broker MQTT. Atakujący, który uzyska dostęp do tych danych (np. poprzez analizę firmware), może połączyć się z brokerem MQTT i wysyłać wiadomości w imieniu legalnych urządzeń, podszywając się pod nie. Co więcej, te same dane uwierzytelniające są wykorzystywane do podpisywania i weryfikacji tokenów sesji JWT, co pozwala atakującemu na tworzenie i podpisywanie dowolnych tokenów JWT oraz całkowite ominięcie mechanizmu uwierzytelnienia.
Atakujący może podszywać się pod dowolne urządzenie w infrastrukturze, wysyłać fałszywe wiadomości przez broker MQTT oraz tworzyć arbitralne tokeny JWT, uzyskując nieautoryzowany dostęp do systemu z pominięciem uwierzytelnienia — co prowadzi do pełnego naruszenia poufności, integralności i dostępności danych.
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Jako środek tymczasowy zaleca się izolację sieciową urządzeń Connected IO, ograniczenie dostępu do brokera MQTT wyłącznie do zaufanych hostów oraz monitorowanie nieautoryzowanych połączeń MQTT.
Connected IO v2.1.0 i wcześniejsze wersje firmware urządzeń Connected IO
Podatność została ujawniona przez Claroty Team82 i opisana w ich disclosure dashboard. Zakodowane na stałe dane uwierzytelniające (CWE-798) są szczególnie niebezpieczne, ponieważ nie mogą być zmienione przez użytkownika bez aktualizacji firmware, a ich ujawnienie ma charakter trwały dla wszystkich urządzeń na tej samej wersji oprogramowania.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HConnectedio Connected Io
APPConnectedio≤ 2.1.0
Powiązane podatności
Connected IO: przechowywanie haseł i danych uwierzytelniających w postaci jawnego tekstu
Connected IO: zdalne wykonanie poleceń OS przez protokół zarządzający
Stack-based buffer overflow w protokole komunikacyjnym Connected IO
Argument injection w protokole iptables — Connected IO v2.1.0
Command Injection w Connected IO — wykonanie dowolnych poleceń przez sieć