Metoda API `Toybox.GenericChannel.setDeviceConfig` w Garmin Connect IQ nie waliduje swojego parametru wejściowego, co prowadzi do buffer overflow. Podatność o ocenie krytycznej (CVSS 9.8) umożliwia złośliwej aplikacji przejęcie kontroli nad firmware urządzenia Garmin.
▸ Pokaż oryginał (EN)
The `Toybox.GenericChannel.setDeviceConfig` API method in CIQ API version 1.2.0 through 4.1.7 does not validate its parameter, which can result in buffer overflows when copying various attributes. A malicious application could call the API method with specially crafted object and hijack the execution of the device's firmware.
Metoda `setDeviceConfig` w API CIQ (wersje 1.2.0–4.1.7) nie przeprowadza walidacji przekazanego obiektu konfiguracyjnego. Podczas kopiowania różnych atrybutów tego obiektu do wewnętrznych buforów może dojść do przepełnienia bufora (buffer overflow, CWE-120). Atakujący może dostarczyć specjalnie spreparowany obiekt wywołując tę metodę z poziomu złośliwej aplikacji CIQ, co skutkuje nadpisaniem pamięci i przejęciem przepływu wykonania kodu na poziomie firmware urządzenia.
Atakujący może przejąć pełną kontrolę nad wykonaniem firmware urządzenia Garmin, co w praktyce oznacza możliwość wykonania dowolnego kodu (RCE) i kompromitację integralności, poufności oraz dostępności urządzenia.
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Zaleca się aktualizację CIQ API do wersji wyższej niż 4.1.7 oraz instalowanie wyłącznie zaufanych aplikacji Connect IQ pochodzących z oficjalnych źródeł.
Urządzenia Garmin korzystające z CIQ API w wersjach od 1.2.0 do 4.1.7 (Garmin Connect IQ).
Szczegółowe informacje techniczne oraz advisory zostały opublikowane przez Anvil Secure w repozytorium GitHub (anvilsecure/garmin-ciq-app-research).
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HGarmin Connect Iq
APPGarmin1.2.0 – 4.1.7
Powiązane podatności
Garmin Connect-IQ: type confusion w BurstPayload.add prowadzące do RCE
Integer overflow w Garmin Connect-IQ API — przejęcie firmware urządzenia
Buffer overflow w Garmin Connect-IQ API — przejęcie firmware urządzenia
Out-of-bounds read w operacji 'news' MonkeyC CIQ API — GarminOS TVM
Buffer overflow w Garmin Connect-IQ API – przejęcie firmware urządzenia