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
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| xinnan-tech | xiaozhi-esp32-server | ≤ 0.9.8 | — |
References
- GitHub Issue #3448 issue-tracking
- https://github.com/xinnan-tech/xiaozhi-esp32-server product
- https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/v0.9.8/main/xiaozhi-server/core/websocket_server.py#L211-L232 technical-description
- https://github.com/xinnan-tech/xiaozhi-esp32-server/pull/3457 patch issue-tracking
- VulnCheck Advisory: xiaozhi-esp32-server through 0.9.8 Authentication Bypass via Spoofed Device-ID Header third-party-advisory