W bibliotece @capgo/capacitor-updater przed wersją 12.128.2 schemat szyfrowania end-to-end dystrybuuje klucz prywatny do każdego urządzenia pobierającego aplikację, co całkowicie podważa bezpieczeństwo mechanizmu weryfikacji aktualizacji. Atakujący może podpisać fałszywą paczkę aktualizacji i skłonić urządzenia do jej instalacji.
▸ Pokaż oryginał (EN)
In @capgo/capacitor-updater (Cap-go/capgo) before 12.128.2, the end-to-end encryption scheme distributes the private key to each device that downloads the app. Because the public key can be derived from the private key, an attacker performing a man-in-the-middle attack or compromising the Capgo server can create a validly signed update bundle and cause devices to install an update not produced by the original app maker.
Schemat E2E zastosowany w @capgo/capacitor-updater nieprawidłowo dystrybuuje klucz prywatny do każdego urządzenia końcowego (CWE-320 — błąd zarządzania kluczami kryptograficznymi). Ponieważ klucz publiczny można wyprowadzić z klucza prywatnego, atakujący posiadający dostęp do klucza prywatnego (pobranego z urządzenia) jest w stanie samodzielnie wygenerować ważny podpis dla dowolnej paczki aktualizacji. Atak jest możliwy zarówno poprzez przeprowadzenie ataku man-in-the-middle na komunikację sieciową, jak i poprzez przejęcie infrastruktury serwera Capgo. Tak spreparowana paczka zostanie zaakceptowana przez urządzenia jako autentyczna aktualizacja pochodząca od oryginalnego twórcy aplikacji.
Atakujący może zmusić urządzenia użytkowników do instalacji złośliwej lub zmodyfikowanej aktualizacji aplikacji, która nie pochodzi od oryginalnego producenta, co może prowadzić do przejęcia kontroli nad aplikacją, kradzieży danych lub wykonania dowolnego kodu w kontekście aplikacji.
Należy zaktualizować bibliotekę @capgo/capacitor-updater do wersji 12.128.2 lub nowszej. Szczegóły dostępne w oficjalnym security advisory producenta pod adresem: https://github.com/Cap-go/capgo/security/advisories/GHSA-j2f4-4pfc-p8rx
@capgo/capacitor-updater (Cap-go/capgo) we wszystkich wersjach przed 12.128.2
CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:L/VI:H/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X