Demystifying the Security Implications in IoT Device Rental Services

Weakness in Teld charger's authentication

image-20240608172026858

The customize protocol may contain complex message sequences for handshake and key exchange. The Teld charger uses a hardcoded AES key for the initial phase of communication, and they exchange a new 3DES key over the AES encrypted channel, which is used for encrypting the following packets. We identify different message formats by clustering the message traces and implementing them in the phantom clients. During implementation, we use the existing message traces to test the correctness of our Python decode and encode functions. Finally, we feed the necessary parameters to the phantom clients, including the server IP and port, encryption keys, and device identifiers, which are all extracted from the firmware.

Attacking the payment of companion apps

image-20240608172133007

The client (i.e., app) starts a new transaction by sending a device usage request to the server, which may contain detailed information about the selected device such as the device serial number. The server returns a payment request to WeChat and users can pay via the WeChat Pay Service.

Forge multiple states of a local/remote device

image-20240608172302462

Attackers can forge multiple states of a local/remote device to cheat the server: (a) change an idle device to an in-use state can hinder other users from finding free devices on apps; (b) change an in-use device to idle can cheat other users into checking this unusable device; (c) change an idle or in-use device to faulty can cheat both users and maintainers; (d) change a faulty or offline device to idle can hinder the maintainers from repairing it.

Application Vulnerabilities

 VendorVulnerability DetailsImpactID
A1LuLuChong5 APIs leak user’s profile and order infomationPrivacy leakageCVE-2024-32395
A2LuLuChongThe device stop API does not verify user access.Device manipulation 
A3QSXMForge payment argument to alter priceUse device in freeCNNVD-2023-76976427
A4HQJLForge payment argument to alter priceUse device in freeCNNVD-2023-24008724
A5DadaballForge payment argument to alter deposit amountUse device in freeCNNVD-2023-76957151
A6QiXinForge payment argument to alter priceUse device in free 
A7QiXinLeak device ID in map APIDevice enumeration attack 
A8TeldA sensitive setting API does not verify user accessHijack administrator permission to use device in free 
A9TeldLeak device ID in map APIDevice enumeration attackCVE-2024-28307
A10ProtivoOne API can login to other user's account using the phone numberAccount hijack 
A11ProtivoLeak device ID in map APIDevice enumeration attack 
A12StarchargeLeak device ID in map APIDevice enumeration attack 
A13XlvrenLeak device ID in map APIDevice enumeration attack 
A14LVCCLeak device ID in map APIDevice enumeration attack 
A15Hozonauto3 APIs can manipulate other vehicles via VINDevice manipluationNVDB-CVAD-2023645555
A16DFPVSteal SMS verification code from login API and login to arbitrary accountAccount hijackNVDB-CVAD-2023839204
A17DFPV4 vulnerable APIs can manipulate other vehicles via VINDevice manipluationNVDB-CVAD-2023287595
A18YueHuoCXOne API leaks other user’s access tokenAccount Hijack 
A19YueHuoCX2 APIs can manipluate other devicesDevice manipluation 
A20YueHuoCX3 APIs leak other user’s profilePrivacy leakage 
A21GXRongYi2 APIs leak other users’ profilePrivacy leakage 
A22GXRongYi3 APIs can manipulate other user’s devicesAccount Hijack and device manipluation 
A23YueShiJi3 APIs leak other users’ profilePrivacy leakage 
A24YueShiJi3 APIs can manipulate other user’s devicesAccount Hijack and device manipluation 
A25NBLinks4 APIs leak other user’s profilePrivacy leakageCNNVD-2024-54533138
A26NBLinksOne API can stop arbitrary deviceDevice manipluationCNNVD-2024-54533138
A27ZhouDianOne API can get or alter other user’s profilePrivacy leakageCNNVD-2024-18455990
A28SunmueSetting uid to 0 can get all users' recent ordersPrivacy leakage 
A29YTDOne API can access merchant's privacy, device ID, status and secret fieldPrivacy leakage 
A30BDTOne API can query merchant’s privacyPrivacy leakage 
A31LimeOne API can simultaneous reserve multiple devicesDevice manipulation 
A32GOONOne API can exploit free test account to abuse devicesPayment bypass 
A33HelbizOne API can pause devices after devices are returnDevice manipulation 
A34HelbizOne API can make one’s e-scooters keep unlockUse device in free 

Device Vulnerabilites

IDDeviceVulnerability DetailsImpactID
D1TeldUse a common key for encryption and authenticationDevice impersonateCVE-2024-32395
D2TeldDevice is offline after phantom client re-loginForce other device offlineCVE-2024-32398
D3TeldOrder is not correctly reset after re-loginUse device in freeCVE-2024-28306
D4StarchargeUse a common key for encryption and authenticationDevice impersonateCNNVD-2023-13873362
D5StarchargeDevice is offline after phantom client re-loginForce other device offline 
D6PotevioUse a common key for authentication. No encryptionDevice impersonateCNNVD-2023-45412874
D7PotevioDevice is offline after phantom client re-loginForce other device offline 
D8JieDianUse common keys for authenticationsDevice impersonateCNNVD-2023-64401994
D9Xlvren(Charger)Use a common key for authentication. No encryptionDevice impersonateCNNVD-2023-64401994
D10Xlvren(Cabinet)Use a common key for authentication. No encryptionDevice impersonate 
D11Xlvren(Cabinet)Device is offline after phantom client re-loginForce other device offlineCNNVD-2023-86646390
D12Lvcc(Charger)Use a common key for authentication. No encryptionDevice impersonateCNNVD-2023-86646390
D13Lvcc(Cabinet)Use a common key for authentication. No encryptionDevice impersonate 
D14Lvcc(Socket)Use a common key for authentication. No encryptionDevice impersonate 
D15QiXinNo encryption and authenticationDevice impersonateCNNVD-2023-88980307
D16QiXinDevice is offline after phantom client re-loginUse device in freeCNNVD-2023-88980307
D17QiXinOrder is not correctly reset after re-loginUse device in freeCNNVD-2023-88980307
D18MeiTuanServer terminates the order when devices go offlineUse device in freeCNNVD-2023-18966113
D19AnKongNo encryption and authenticationDevice impersonate 
D20AnKongMQTT message injectionUse device in free 
D21WZ-CloudNo encryption and authenticationDevice impersonate 
D22AnShengNo encryption and authenticationDevice impersonate 
D23BDTNo encryption and authenticationDevice impersonate 

Remote Vulnerabilities

ProductVulnerability DetailsImpactID
LuLuChong5 APIs leak user’s profile and order infomation.Privacy leakageCVE-2024-32395
 The device stop API does not verify user access.Device manipulation 
QSXMForge payment argument to alter priceUse device in freeCNNVD-2023-76976427
HQJLForge payment argument to alter priceUse device in freeCNNVD-2023-24008724
DadaballForge payment argument to alter deposit amountUse device in freeCNNVD-2023-76957151
QiXinForge payment argument to alter priceUse device in free 
 Leak device ID in map APIDevice enumeration attack 
 No encryption and authenticationDevice impersonateCNNVD-2023-88980307
 Device is offline after phantom client re-loginUse device in freeCNNVD-2023-88980307
 Order is not correctly reset after re-loginUse device in freeCNNVD-2023-88980307
TeldA sensitive setting API does not verify user accessHijack administrator permission to use device in free 
 Leak device ID in map APIDevice enumeration attackCVE-2024-28307
 Use a common key for encryption and authenticationDevice impersonateCVE-2024-32395
 Device is offline after phantom client re-loginForce other device offlineCVE-2024-32398
 Order is not correctly reset after re-loginUse device in freeCVE-2024-28306
ProtivoOne API can login to other user's account using the phone numberAccount hijack 
 Use a common key for authentication. No encryptionDevice impersonateCNNVD-2023-45412874
 Device is offline after phantom client re-loginForce other device offline 
StarChargeLeak device ID in map APIDevice enumeration attack 
 Use a common key for encryption and authenticationDevice impersonateCNNVD-2023-13873362
 Device is offline after phantom client re-loginForce other device offline 
XlvrenLeak device ID in map APIDevice enumeration attack 
 Use a common key for authentication. No encryptionDevice impersonateCNNVD-2023-64401994
 Device is offline after phantom client re-loginForce other device offlineCNNVD-2023-86646390
LVCCLeak device ID in map APIDevice enumeration attack 
 Use a common key for authentication. No encryptionDevice impersonateCNNVD-2023-86646390
 (Cabinet)Use a common key for authentication. No encryptionDevice impersonate 
 (Socket)Use a common key for authentication. No encryptionDevice impersonate 
Hozonauto3 APIs can manipulate other vehicles via VINDevice manipluationNVDB-CVAD-2023645555
DFPVSteal SMS verification code from login API and login to arbitrary accountAccount hijackNVDB-CVAD-2023839204
 4 vulnerable APIs can manipulate other vehicles via VINDevice manipluationNVDB-CVAD-2023287595
YueHuoCXOne API leaks other user’s access tokenAccount Hijack 
 2 APIs can manipluate other devicesDevice manipluation 
 3 APIs leak other user’s profilePrivacy leakage 
GXRongYi2 APIs leak other users’ profilePrivacy leakage 
 3 APIs can manipulate other user’s devicesAccount Hijack and device manipluation 
YueShiJi3 APIs leak other users’ profilePrivacy leakage 
 3 APIs can manipulate other user’s devicesAccount Hijack and device manipluation 
NBLinks4 APIs leak other user’s profilePrivacy leakageCNNVD-2024-54533138
 One API can stop arbitrary deviceDevice manipluationCNNVD-2024-54533138
ZhouDianOne API can get or alter other user’s profilePrivacy leakageCNNVD-2024-18455990
SunmueSetting uid to 0 can get all users' recent ordersPrivacy leakage 
YTDOne API can access merchant's privacy, device ID, status and secret fieldPrivacy leakage 
BDTOne API can query merchant’s privacyPrivacy leakage 
LimeOne API can simultaneous reserve multiple devicesDevice manipulation 
GOONOne API can exploit free test account to abuse devicesPayment bypass 
HelbizOne API can pause devices after devices are returnDevice manipulation 
 One API can make one’s e-scooters keep unlockUse device in free 
JieDianUse common keys for authenticationsDevice impersonateCNNVD-2023-64401994
MeiTuanServer terminates the order when devices go offlineUse device in freeCNNVD-2023-18966113
AnKongNo encryption and authenticationDevice impersonate 
 MQTT message injectionUse device in free 
WZ-CloudNo encryption and authenticationDevice impersonate 
AnShengNo encryption and authenticationDevice impersonate 
BDTNo encryption and authenticationDevice impersonate