Description
Xiaozhi-esp32-server before 0.9.8 contains an insecure direct object reference vulnerability in the manager-api DeviceController.getAddressBook handler that allows authenticated users to read other users' device address books. Attackers with a normal or self-registered account can request /device/address-book/{macAddress} with another user's device MAC to obtain contact MACs, aliases, call permissions, and owner user IDs.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| xinnan-tech | xiaozhi-esp32-server | < 0.9.8 | 0.9.8 |
References
- https://github.com/xinnan-tech/xiaozhi-esp32-server/issues/3459 issue-tracking
- https://github.com/xinnan-tech/xiaozhi-esp32-server/pull/3460 patch issue-tracking
- https://github.com/xinnan-tech/xiaozhi-esp32-server/commit/d4ff9c5c17cbd82ec98a2a6bb4f82a07c1be0f03 patch
- xiaozhi-esp32-server v0.9.8 Release Notes release-notes
- https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/v0.9.7/main/manager-api/src/main/java/xiaozhi/modules/device/controller/DeviceController.java#L173-L178 technical-description
- https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/v0.9.7/main/manager-api/src/main/resources/mapper/device/DeviceAddressBookDao.xml#L5-L10 technical-description
- https://hackmd.io/@hieuPenguinnn/xiaozhi-esp32-server-address-book-idor third-party-advisory
- VulnCheck Advisory: Xiaozhi-esp32-server before 0.9.8 IDOR via device address-book endpoint third-party-advisory