Skip to main content

xiaozhi-esp32-server EUVDEUVD-2026-109275

| CVE-2026-116017 MEDIUM
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-10-24 VulnCheck GHSA-2hv3-q586-pf3c
5.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Self-register normal manager-api account
  2. Delivery
    Obtain or enumerate victim device MAC
  3. Exploit
    Request /device/address-book/{mac} without ownership
  4. Execution
    Server skips owner check
  5. Impact
    Exfiltrate contact MACs, aliases, owner IDs

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
Exploitation Conditions

Requires a valid authenticated manager-api account; the description states a normal or self-registered account suffices, so no administrative privilege is needed. The attacker must also know or enumerate another user's device MAC address to place in the /device/address-book/{macAddress} path. No special product configuration or user interaction is required, and the flaw is present in default deployments of versions before 0.9.8. The practical limiting factors are therefore the need for an account (PR:L) and knowledge of a target device MAC; impact is confined to reading address-book metadata (contact MACs, aliases, call permissions, owner user IDs) with no write or service-disruption capability.

Impact

This is a medium-severity information-disclosure flaw (IDOR/CWE-639), not a priority emergency. The vendor-supplied CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N, 5.3) is internally consistent with the description: network-reachable, low attack complexity, but requiring an authenticated low-privilege account (PR:L) and yielding only low confidentiality impact with no integrity or availability impact. No EPSS score and no KEV listing were supplied, and the vuln.today Decision label is 'this_month' rather than act_now/emergency, so the aggregate signals point to a real but non-urgent issue to remediate on a normal patch cadence. The one amplifying factor is that exploitation is trivial once authenticated - and self-registration is explicitly in scope, lowering the practical bar for PR:L - but the exposed data (contact MACs, aliases, call permissions, owner user IDs) is limited PII rather than credentials or code execution. There is no genuine conflict among the signals; the main missing data points are EPSS probability and any independent exploitation telemetry.

Exploit ScenarioDerived

An attacker self-registers a normal account on a Xiaozhi-esp32-server manager-api instance, then calls /device/address-book/{macAddress} supplying the MAC address of a device belonging to another user. Because the pre-0.9.8 handler does not verify that the requesting user owns the device, the server returns that victim's address-book entries - contact MACs, aliases, call permissions, and owner user IDs. A public PoC reference (a HackMD write-up and VulnCheck advisory) exists but is not verified as working exploit code.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 24, 2026

An insecure direct object reference in the manager-api of xiaozhi-esp32-server before 0.9.8 lets any authenticated account read other users' device address books by supplying a victim's device MAC to the /device/address-book/{macAddress} endpoint, disclosing contact MACs, aliases, call permissions and owning user IDs. The flaw requires only a normal or self-registered account plus knowledge of the target device MAC (CVSS v4.0 5.3, CVSS v3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N), and impact is confined to confidentiality with no write or denial-of-service capability. It is not in CISA KEV and no working exploit code has been confirmed; a public technical writeup of the flaw exists, and the vendor has released a fix in v0.9.8.

RemediationAI

Upgrade to xiaozhi-esp32-server 0.9.8 or later, which is the vendor-released patch listed in the GitHub release https://github.com/xinnan-tech/xiaozhi-esp32-server/releases/tag/v0.9.8; the fix is carried by PR https://github.com/xinnan-tech/xiaozhi-esp32-server/pull/3460 and commit d4ff9c5c17cbd82ec98a2a6bb4f82a07c1be0f03, which add DeviceService.getOwnedDeviceByMacAddress and enforce an ownership check on the affected handlers so a device not belonging to the caller returns DEVICE_NOT_EXIST. Note that because the same PR also changes address-book alias handling and MAC normalization, validation of legitimate call/nickname behaviour after upgrade is advisable. If upgrading cannot be scheduled immediately, the interim control supported by the evidence is to restrict reachability of the manager-api /device/address-book/{macAddress} route (for example by limiting it at a reverse proxy to trusted clients), with the trade-off that legitimate address-book browsing from untrusted networks stops working until the patch is applied; the vendor's complete fix for the missing authorization check is the upgrade itself.

Affected VersionsENISA

xiaozhi-esp32-server 0 <0.9.8

Affected Packages

euvd xiaozhi_esp32_server fix: 0.9.8

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

xiaozhi-esp32-server is an ESP32-based voice assistant backend whose manager-api is a Java/Spring service with a MyBatis persistence layer. In versions before 0.9.8 the DeviceController.getAddressBook handler (DeviceController.java lines 173-178 in the v0.9.7 tag) and the underlying DeviceAddressBookDao.xml query (lines 5-10) look up an address book purely by the macAddress path variable, with no check that the requested device belongs to the authenticated principal. This is CWE-639 (authorization bypass through a user-controlled key): the resource identifier is taken from the request and used directly as the query key, so authentication is enforced but object-level authorization is not. The upstream fix in PR #3460 introduces DeviceService.getOwnedDeviceByMacAddress(macAddress), a helper that returns null when the device does not exist or is not owned by the current user, and applies that ownership check across the affected handlers instead of manually comparing callerDevice.getUserId() against the logged-in user. The same PR also reworks address-book alias handling and MAC key normalization, so the patch touches more than the single reported endpoint. The trigger for the missing check in the shipped vulnerable code is precisely the absent ownership comparison; the sources do not describe any additional race, timing or memory-safety component.

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

Vendor (VulnCheck) PRIMARY 5.3 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 4.3 MEDIUM

Network-reachable endpoint with low complexity but requires a low-privilege authenticated account (PR:L); only limited address-book data is disclosed, so C:L and I:N/A:N.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

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.

Threat Intelligence Overview

EPSS Score
0.2%
Top 87% exploitable
Prevalence
Low
niche open-source self-hosted ESP32 voice-assistant backend, limited deployment
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy