Metoda API `Toybox.Graphics.BufferedBitmap.initialize` w Garmin Connect-IQ nie waliduje przekazywanych parametrów, co prowadzi do integer overflow podczas alokacji bufora bitmapy. Luka umożliwia złośliwej aplikacji przejęcie kontroli nad firmware urządzenia Garmin.
▸ Pokaż oryginał (EN)
The `Toybox.Graphics.BufferedBitmap.initialize` API method in CIQ API version 2.3.0 through 4.1.7 does not validate its parameters, which can result in integer overflows when allocating the underlying bitmap buffer. A malicious application could call the API method with specially crafted parameters and hijack the execution of the device's firmware.
Podatność wynika z braku walidacji parametrów wejściowych w metodzie `Toybox.Graphics.BufferedBitmap.initialize` (CWE-190 — integer overflow). Gdy złośliwa aplikacja CIQ wywoła tę metodę ze specjalnie spreparowanymi parametrami, dochodzi do przepełnienia liczby całkowitej podczas alokacji bufora bitmapy w pamięci. Skutkuje to nieprawidłowym zachowaniem pamięci, które atakujący może wykorzystać do przejęcia przepływu wykonania kodu firmware urządzenia.
Atakujący może przejąć kontrolę nad wykonaniem firmware urządzenia Garmin, co w praktyce oznacza pełne skompromitowanie urządzenia — utratę poufności, integralności oraz dostępności danych i funkcji.
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Zaleca się aktualizację platformy Connect-IQ do wersji wyższej niż 4.1.7 oraz unikanie instalowania aplikacji CIQ pochodzących z niezaufanych źródeł do czasu wdrożenia poprawki.
Garmin Connect-IQ API w wersjach od 2.3.0 do 4.1.7 (włącznie). Dotyczy urządzeń Garmin obsługujących te wersje API platformy Connect-IQ.
Szczegółowe informacje techniczne dotyczące podatności zostały opublikowane przez Anvil Secure w repozytorium GitHub (garmin-ciq-app-research). Wektor ataku zakłada dostarczenie 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.3.0 – 4.1.7
Powiązane podatności
Garmin Connect-IQ: type confusion w BurstPayload.add prowadzące do RCE
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
Buffer overflow w Garmin Connect-IQ API – przejęcie firmware urządzenia