Description
xiaozhi-esp32-server through 0.9.8 contains an authentication bypass vulnerability in WebSocketServer._handle_auth that allows remote unauthenticated attackers to skip Bearer HMAC token verification by spoofing the Device-ID header. Attackers supplying an allowlisted MAC-address-shaped device identifier can open an authenticated WebSocket session, issue voice-assistant commands, exchange audio, and read that device's conversation context.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
xinnan-tech xiaozhi-esp32-server
Default version status: unaffected
0 to ≤ 0.9.8affected
References
- https://github.com/xinnan-tech/xiaozhi-esp32-server/issues/3448 ↗
- https://github.com/xinnan-tech/xiaozhi-esp32-server ↗
- https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/v0.9.8/main/xiaozhi-server/core/websocket_server.py#L211-L232 ↗
- https://github.com/xinnan-tech/xiaozhi-esp32-server/pull/3457 ↗
- https://www.vulncheck.com/advisories/xiaozhi-esp32-server-through-0.9.8-authentication-bypass-via-spoofed-device-id-header ↗