Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach WebSocket endpoint over network
-
DeliverySpoof Device-ID header with allowlisted MAC
-
ExploitBypass Bearer HMAC token verification
-
ExecutionOpen authenticated WebSocket session
-
ImpactIssue voice commands and read conversation context
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Anti-spoofing controls
MITRE ATT&CK
1 technique across 1 tactic: Defense Evasion The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that the server's WebSocket authentication is enabled with an allowlist (allowed_devices) configured, and that the attacker supplies a Device-ID header whose value matches a MAC-address-shaped identifier present on that allowlist - the vulnerable _handle_auth path lets allowlisted device IDs skip Bearer HMAC token verification entirely. The practical limiting factor, reflected in CVSS AC:H/AT:P, is that the attacker must know or correctly supply a valid allowlisted MAC-shaped value; MAC addresses can be guessable or discoverable but a matching allowlisted entry is still required. No prior authentication and no user interaction are needed (PR:N/UI:N), and the endpoint must be network-reachable (AV:N). The trigger beyond the spoofed Device-ID header and allowlist match is not further detailed in the available sources. |
| Impact | This is a genuine but moderate-priority issue, not a top-of-queue emergency. The CVSS 4.0 base score is 6.3 (Medium) with vector AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:L/VA:N: network-reachable and unauthenticated (PR:N), but tempered by high attack complexity (AC:H) and a present attack requirement (AT:P) - the attacker must supply a device identifier that matches an entry on the server's allowlist, and impact is only Low to confidentiality and integrity with no availability impact. On the real-world exploitation signals the picture is quiet: the input does not list an EPSS score, there is no CISA KEV listing (so not confirmed actively exploited), and no public exploit is identified (the vendor PR ships a regression-test harness, not weaponized exploit code). The vuln.today decision label is 'this_month', consistent with a signal set that is real and patch-available but lacks evidence of active or automatable mass exploitation. The SSVC-style read aligns: exploitation is not confirmed in the wild, it is not trivially automatable (a valid allowlisted MAC must be known), and technical impact is partial rather than total. Note explicitly: no EPSS value was provided, so widespread-exploitation probability could not be weighed, and the 'Microsoft' vendor tag in the input is incorrect for this independent open-source project (see data_quality_flags). |
| Exploit ScenarioDerived | A remote attacker who can reach the server's WebSocket endpoint opens a connection carrying a Device-ID header shaped like - and matching - an allowlisted MAC address, which causes WebSocketServer._handle_auth to skip Bearer HMAC token verification. The attacker thereby opens an authenticated voice-assistant session, issues voice commands, exchanges audio, and reads the target device's conversation context. No public exploit code is identified in the provided data (the vendor PR includes a regression test, not an exploit); the CVSS high complexity reflects the need to know a valid allowlisted MAC-shaped identifier. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 30, 2026
An authentication bypass in xiaozhi-esp32-server through 0.9.8 lets remote, unauthenticated clients open an authenticated WebSocket session against the voice-assistant backend by supplying a Device-ID header whose value mimics an allowlisted MAC address, because WebSocketServer._handle_auth lets allowlisted identifiers skip Bearer HMAC token verification entirely. A successful attacker can issue voice-assistant commands, exchange audio and read that device's conversation context, though confidentiality and integrity impact is capped by the need to know or correctly guess an allowlisted MAC-shaped value (assessed CVSS 6.3, AC:H/AT:P, PR:N/UI:N). No KEV entry or confirmed active exploitation exists at time of analysis; this is a moderate-priority, this_month item, and the vendor has published an upstream fix in pull request 3457 alongside a public issue report and a regression test script that demonstrates the bypass path.
RemediationAI
Apply the upstream fix in pull request https://github.com/xinnan-tech/xiaozhi-esp32-server/pull/3457 (tracked by issue 3448): upstream fix available (PR/commit); a released patched version number is not independently confirmed in the available data, and the advisory lists 0.9.8 as the last affected release, so rebuild from the fixed commit or a release containing it rather than trusting the version string alone. Since exploitation requires an allowlisted MAC-shaped Device-ID, interim compensating controls are to keep allowed_devices empty or limited to identifiers that cannot be guessed or observed on the wire until the fix is deployed, and to restrict network reachability of the WebSocket listener to the device/segment networks that legitimately host ESP32 clients; the trade-off is that removing allowlist entries or narrowing reachability will lock out legitimate devices that rely on the allowlist path, so pair either change with a staged rollout of the patched server. Note that the same fix also removes a hardcoded vision web_test_client backdoor and gates OTA token issuance and firmware download, so partial cherry-picking of only the _handle_auth change leaves other bypass routes noted in the issue open.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The affected component is the Python WebSocket gateway (main/xiaozhi-server/core/websocket_server.py, roughly lines 211-232 in the 0.9.8 tree) of the xiaozhi-esp32-server IoT/voice-assistant backend, which authenticates ESP32 device clients using a Bearer HMAC token derived from the server's auth_key plus per-device identity headers. The flaw is CWE-290 (Authentication Bypass by Spoofing): the allowlist branch of _handle_auth trusted the client-supplied Device-ID header alone, so a device identifier on the configured allowed_devices list was treated as authenticated without any token comparison. Because headers are fully attacker-controlled during the WebSocket handshake, the allowlist check degenerated into an identity assertion rather than a credential check. The upstream fix reworks this model: the allowlist now only extends credential lifetime while the token is still verified, credentials move to a subprotocol header (URL query strings are no longer trusted), Device-Id and Device-Model values are format/character-set validated, OTA token issuance and firmware download are gated, a hardcoded vision web_test_client backdoor is removed, and MQTT issuance is brought under the auth_enable gate.
Know when Xiaozhi Esp32 Server gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
Unauthenticated network WebSocket bypass (AV:N/PR:N/UI:N) but requires a valid allowlisted MAC-shaped Device-ID (AC:H); reading context and issuing commands give C:L/I:L, no availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
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.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
EUVD-2026-114108
GHSA-wv6h-fhj6-j53g
NVD
CVE.org
EPSS
Exploit-DB