Podatność typu buffer overflow w metodzie `Toybox.Cryptography.Cipher.initialize` w Garmin Connect-IQ API umożliwia złośliwej aplikacji przejęcie kontroli nad firmware urządzenia. Brak walidacji parametrów wejściowych sprawia, że atak nie wymaga żadnych uprawnień ani interakcji użytkownika.
▸ Pokaż oryginał (EN)
The `Toybox.Cryptography.Cipher.initialize` API method in CIQ API version 3.0.0 through 4.1.7 does not validate its parameters, which can result in buffer overflows when copying data. A malicious application could call the API method with specially crafted parameters and hijack the execution of the device's firmware.
Metoda `Toybox.Cryptography.Cipher.initialize` w Garmin CIQ API (wersje 3.0.0–4.1.7) nie weryfikuje poprawności przekazywanych do niej parametrów. Złośliwa aplikacja może wywołać tę metodę ze specjalnie spreparowanymi parametrami, co prowadzi do przepełnienia bufora (buffer overflow, CWE-120) podczas kopiowania danych. Nadpisanie pamięci poza przydzielonym buforem pozwala atakującemu na przejęcie przepływu wykonania kodu i umieszczenie własnego payload w pamięci urządzenia.
Atakujący może przejąć kontrolę nad firmware urządzenia Garmin, co skutkuje pełną kompromitacją urządzenia — możliwą utratą poufności danych, modyfikacją działania systemu oraz jego niedostępnością.
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Zaleca się aktualizację Garmin Connect-IQ SDK/firmware do wersji wyższej niż 4.1.7 oraz weryfikację aplikacji CIQ instalowanych na urządzeniach pod kątem wykorzystania podatnej metody API.
Urządzenia Garmin korzystające z Connect-IQ API w wersjach 3.0.0 do 4.1.7 (włącznie), zawierające metodę `Toybox.Cryptography.Cipher.initialize`.
Podatność została opublikowana przez badaczy z Anvil Secure, co wynika z referencji wskazujących na repozytorium GitHub organizacji 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
APPGarmin3.0.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
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