Skip to main content

Xiaozhi-esp32-server-java CVE-2026-111623

| EUVDEUVD-2026-103045 MEDIUM
Authentication Bypass by Spoofing (CWE-290)
2026-10-16 VulnCheck GHSA-g79m-4gpq-p8x3
6.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Reach /api/device/ota unauthenticated
  2. Delivery
    Submit victim device MAC address
  3. Exploit
    Receive valid WebSocket token
  4. Execution
    Open victim WebSocket channel
  5. Impact
    Read system prompts, poison history, drain LLM/STT/TTS credits

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 the target to be running xiaozhi-esp32-server-java (through 6.1.0) with the /api/device/ota OTA endpoint network-reachable, and the attacker must supply a MAC address corresponding to an existing provisioned victim device to obtain a usable WebSocket token and reach that device's data (role prompts, conversation history, metadata, and backend LLM/STT/TTS credentials). No authentication or user interaction is needed (PR:N/UI:N), but exploitation is limited by the need to know or enumerate a valid device MAC and by the server actually exposing the OTA endpoint - reflected in the CVSS AC:H/AT:P attack requirement; impact is bounded to data accessible over a single device's WebSocket channel rather than full server compromise.

Impact

Multiple signals converge on a MEDIUM, not a top-tier, priority. The provided CVSS 4.0 vector (AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:L/VA:L) scores 6.3: the flaw is network-reachable and unauthenticated (PR:N), but carries both high attack complexity (AC:H) and a present attack requirement (AT:P), and all three impacts are only Low with no scope change (SC/SI/SA:N). No EPSS score, KEV listing, or explicit POC flag was supplied in the input, so there is no evidence of active exploitation - exploitation status is 'no public exploit identified at time of analysis,' though VulnCheck and a detailed hackmd write-up document the token-issuance mechanics, lowering the practical barrier to reproduction. The PR:N/UI:N combination makes this attractive for opportunistic abuse, but AC:H/AT:P plus the need to target an existing provisioned device (a specific MAC) means this is realistically targeted rather than internet-wide mass exploitation. Net: a genuine authentication-bypass concern for anyone running this specific server, but the Low technical impacts and niche deployment footprint keep it well below critical-patch-now urgency. No key signals conflict; the main gap is the absence of EPSS/KEV/patch data, so risk is inferred from the CVSS vector and description only.

Exploit ScenarioDerived

An unauthenticated attacker on the network sends a request to /api/device/ota supplying a victim device's MAC address and receives a valid WebSocket token in response. Using that token, the attacker opens the victim's WebSocket channel to read the private role system prompt, write or poison conversation history, and burn the operator's paid LLM/STT/TTS credentials. A public technical write-up (hackmd) describes the token-issuance flaw, but no packaged exploit code was indicated in the input.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet

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

Alert me

AnalysisAIv1 – Oct 16, 2026

Authentication bypass in Xiaozhi-esp32-server-java through 6.1.0 lets unauthenticated remote attackers request /api/device/ota with a valid MAC address and receive a device WebSocket token, enabling access to that device's channel to read private role system prompts, write conversation history, consume LLM/STT/TTS credentials, and overwrite device metadata. No public exploit was identified at time of analysis, and the assessed risk is MEDIUM rather than top-tier because the attacker must know or enumerate a provisioned device MAC and the OTA endpoint must be network-reachable; impact is bounded to a single device's WebSocket channel rather than full server compromise.

RemediationAI

No vendor-released patch identified at time of analysis; monitor the upstream repository and the VulnCheck advisory for a fixed release and apply it when published. Until a fix is available, disable or restrict the /api/device/ota endpoint so it is not reachable from untrusted networks; this prevents unauthenticated token issuance but also breaks legitimate OTA provisioning and firmware updates for remote devices. Replace MAC-address-only authentication with a per-device secret or signed token checked by DeviceAuthService.java; this requires firmware and server changes and reprovisioning, but it removes the bypass. Rotate LLM/STT/TTS credentials, WebSocket tokens, and any device metadata secrets that may have been exposed, and audit WebSocket sessions for unexpected access to victim device channels. If OTA must remain enabled, place it behind VPN or an IP allowlist, rate-limit requests, and alert on MAC enumeration patterns, accepting that these controls add operational complexity and may not stop attackers who already know a valid MAC.

Affected VersionsENISA

xiaozhi-esp32-server-java 0 ≤6.1.0

Affected Packages

euvd xiaozhi_esp32_server_java no fix

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 root cause is CWE-290, authentication bypass by spoofing or alternate channel. Xiaozhi-esp32-server-java is a Java server for ESP32 voice-assistant devices, and its OTA endpoint in DeviceController.java calls DeviceAppService.java to issue WebSocket tokens based only on a supplied MAC address via DeviceAuthService.java, without verifying a device secret, ownership, or other authenticator. The CPE cpe:2.3:a:joey-zhou:xiaozhi-esp32-server-java:*:*:*:*:*:*:*:* identifies the affected product, with vulnerability reported through version 6.1.0. Once an attacker obtains a token, the WebSocket protocol gives access to the victim device's channel, including role system prompts, conversation history, LLM/STT/TTS credentials, and metadata. This matches the CVSS 4.0 vector AV:N/AC:H/AT:P/PR:N/UI:N and the independent CVSS 3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L assessment: unauthenticated and no user interaction, but high attack complexity because the OTA endpoint must be reachable and a valid provisioned MAC must be known or enumerated.

Know when Java 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 6.3 MEDIUM
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N
vuln.today AI 5.6 MEDIUM

Network, unauthenticated (PR:N), but AC:H because a valid existing device MAC must be targeted; Low C/I/A as impact is confined to one device's WebSocket data and credential abuse.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

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

DescriptionCVE.org

Xiaozhi-esp32-server-java through 6.1.0 contains an authentication bypass vulnerability that allows unauthenticated attackers to obtain valid device WebSocket tokens by requesting /api/device/ota with any MAC address. Attackers can open a victim device's WebSocket channel to read private role system prompts, write conversation history, consume LLM/STT/TTS credentials, and overwrite device metadata.

Threat Intelligence Overview

Prevalence
Low
niche open-source DIY ESP32 AI assistant server, hobbyist footprint
Data Quality
3 sources
Confidence: Low

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 N/A
Patch available No
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

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
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.

More in Java

View all
CVE-2012-4681 CRITICAL POC
9.8 Aug 28

Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m

CVE-2015-7450 CRITICAL POC
9.8 Jan 02

Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti

CVE-2013-2465 CRITICAL POC
9.8 Jun 18

Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent

CVE-2011-3544 CRITICAL POC
9.8 Oct 19

Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug

CVE-2010-1871 HIGH POC
8.8 Aug 05

JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to

CVE-2012-1723 CRITICAL POC
9.8 Jun 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up

CVE-2013-0422 CRITICAL POC
9.8 Jan 10

Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using

CVE-2012-0507 CRITICAL POC
9.8 Jun 07

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up

CVE-2015-4852 CRITICAL POC
9.8 Nov 18

The WLS Security component in Oracle WebLogic Server 10.3.6.0, 12.1.2.0, 12.1.3.0, and 12.2.1.0 allows remote attackers

CVE-2012-5076 CRITICAL POC
9.8 Oct 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow

CVE-2017-3066 CRITICAL POC
9.8 Apr 27

Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla

CVE-2012-0391 CRITICAL POC
9.8 Jan 08

The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during

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