TronLink Wallet 2.2.0 przechowuje keystore użytkownika w postaci niezaszyfrowanej (plaintext) w niezabezpieczonym miejscu na urządzeniu. Atakujący z dostępem do systemu plików może odczytać i ponownie wykorzystać keystore, uzyskując nieautoryzowany dostęp do portfela kryptowalutowego ofiary.
▸ Pokaż oryginał (EN)
TronLink Wallet 2.2.0 stores user wallet keystore in plaintext and places them in insecure storage. An attacker can read and reuse the user keystore of a valid user via /data/data/com.tronlink.wallet/shared_prefs/<wallet-name>.xml to gain unauthorized access.
Aplikacja zapisuje keystore portfela użytkownika w pliku XML znajdującym się w katalogu /data/data/com.tronlink.wallet/shared_prefs/<wallet-name>.xml bez żadnego szyfrowania. Dane przechowywane w tym miejscu są dostępne dla atakującego, który uzyskał dostęp do systemu plików urządzenia (np. poprzez root, fizyczny dostęp lub inną podatność). Odczytany keystore może zostać bezpośrednio skopiowany i użyty do przejęcia kontroli nad portfelem ofiary bez znajomości hasła.
Atakujący może uzyskać pełny, nieautoryzowany dostęp do portfela kryptowalutowego użytkownika, co w praktyce oznacza możliwość wyprowadzenia wszystkich przechowywanych środków finansowych. Utrata poufności, integralności i dostępności danych portfela jest całkowita.
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Producent powinien wdrożyć szyfrowanie keystore z użyciem mechanizmów kryptograficznych systemu Android (np. Android Keystore System) zamiast przechowywania danych w plaintext w shared_prefs.
TronLink Wallet w wersji 2.2.0
Podatność sklasyfikowana jako CWE-312 (Cleartext Storage of Sensitive Information). Dostęp do pliku wymaga wcześniejszego uzyskania dostępu do systemu plików urządzenia (np. uprawnienia root lub fizyczny dostęp), co jest warunkiem wstępnym eksploitacji.
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HTronlink Wallet
APPTronlink2.2.0