Podatność typu type confusion w metodzie `Toybox.Ant.BurstPayload.add` w Garmin Connect-IQ API (wersje 2.2.0–4.1.7) umożliwia zapis poza granicami bufora (out-of-bounds write). Złośliwa aplikacja CIQ może wykorzystać tę lukę do przejęcia kontroli nad firmware'em urządzenia.
▸ Pokaż oryginał (EN)
The `Toybox.Ant.BurstPayload.add` API method in CIQ API version 2.2.0 through 4.1.7 suffers from a type confusion vulnreability, which can result in an out-of-bounds write operation. A malicious application could create a specially crafted `Toybox.Ant.BurstPayload` object, call its `add` method, override arbitrary memory and hijack the execution of the device's firmware.
Metoda `add` obiektu `Toybox.Ant.BurstPayload` nieprawidłowo obsługuje typy przekazywanych danych, co prowadzi do błędu type confusion sklasyfikowanego jako CWE-787 (out-of-bounds write). Atakujący może stworzyć specjalnie spreparowany obiekt `Toybox.Ant.BurstPayload`, a następnie wywołać jego metodę `add` z odpowiednio dobranymi argumentami. W efekcie możliwe jest nadpisanie dowolnych obszarów pamięci urządzenia, co pozwala na przekierowanie wykonania kodu (hijack execution flow) na poziomie firmware'u.
Atakujący może nadpisać dowolną pamięć urządzenia i przejąć pełną kontrolę nad jego firmware'em, co jest równoznaczne ze zdalnym wykonaniem kodu (RCE) na zaatakowanym urządzeniu Garmin.
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Zaleca się aktualizację Connect-IQ API do wersji wyższej niż 4.1.7 oraz unikanie instalowania aplikacji CIQ z niezaufanych źródeł do czasu wdrożenia poprawki.
Garmin Connect-IQ API w wersjach od 2.2.0 do 4.1.7 (włącznie) — urządzenia Garmin obsługujące aplikacje CIQ korzystające z tej wersji API.
Szczegółowe informacje techniczne na temat podatności zostały opublikowane przez Anvil Secure w repozytorium GitHub (garmin-ciq-app-research). Podatność wymaga dostarczenia złośliwej aplikacji CIQ na urządzenie ofiary.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HGarmin Connect Iq
APPGarmin2.2.0 – 4.1.7
Powiązane podatności
Buffer overflow w GarminOS TVM — przejęcie firmware urządzenia
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 API Garmin Connect IQ — przejęcie firmware urządzenia