CVE-2026-13489
Received Received - Intake

Improper Synchronization in 78 Xiaozhi-ESP32 MCP Response Handler

Vulnerability report for CVE-2026-13489, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-06-28

Last updated on: 2026-06-28

Assigner: VulDB

Description

A weakness has been identified in 78 xiaozhi-esp32 up to 2.2.6. Affected by this issue is the function ParseMessage of the file main/mcp_server.cc of the component MCP Response Handler. This manipulation causes improper synchronization. Remote exploitation of the attack is possible. The attack's complexity is rated as high. The exploitation is known to be difficult. The exploit has been made available to the public and could be used for attacks. The pull request to fix this issue awaits acceptance.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-06-28
Last Modified
2026-06-28
Generated
2026-06-28
AI Q&A
2026-06-28
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
78 xiaozhi_esp32 to 2.2.6 (inc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-662 The product utilizes multiple threads, processes, components, or systems to allow temporary access to a shared resource that can only be exclusive to one process at a time, but it does not properly synchronize these actions, which might cause simultaneous accesses of this resource by multiple threads or processes.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

The vulnerability in 78 xiaozhi-esp32 firmware involves the MCP (Model Context Protocol) response handler broadcasting JSON-RPC responses to all connected WebSocket clients instead of only the client that initiated the request.

This happens because the server correlates responses only by JSON-RPC ID and discards the source WebSocket connection before processing, causing improper synchronization.

As a result, one client can observe or receive responses intended for another client, leading to cross-client data exposure of potentially sensitive information such as device state, camera feeds, or sensor outputs.

The issue is located in the ParseMessage function of the file main/mcp_server.cc and related files, and the exploit is publicly available though difficult to execute.

Impact Analysis

This vulnerability can lead to unintended exposure of sensitive data to other clients connected on the same local network.

Attackers or other local clients could intercept or manipulate MCP responses, potentially gaining access to confidential information such as device states, camera feeds, or sensor data.

Such exposure compromises data confidentiality and integrity, which could affect the security and privacy of your device and its communications.

Detection Guidance

This vulnerability involves the MCP (Model Context Protocol) JSON-RPC responses being broadcast to all connected WebSocket clients instead of only the originating client. Detection can focus on monitoring WebSocket traffic on the local network to identify if MCP responses are being sent to multiple clients indiscriminately.

You can use network traffic analysis tools such as Wireshark or tcpdump to capture WebSocket frames and inspect the MCP JSON-RPC responses. Look for repeated or identical MCP response messages being sent to multiple clients.

Example commands to capture WebSocket traffic on the relevant network interface (replace eth0 with your interface):

  • tcpdump -i eth0 -w capture.pcap port 80 or port 443
  • tshark -r capture.pcap -Y "http.websocket" -V

After capturing, analyze the WebSocket messages to check if MCP responses are broadcast to multiple clients rather than being routed individually.

Mitigation Strategies

Immediate mitigation steps include restricting access to the affected 78 xiaozhi-esp32 devices on your network to trusted clients only, as the vulnerability allows local network clients to intercept or manipulate MCP responses.

Since the exploit complexity is high and the fix is pending acceptance in the official pull request, you should monitor the project's repository for updates and apply the patch once it is accepted and released.

In the meantime, consider isolating the devices from untrusted networks and disabling or limiting WebSocket access if possible to reduce exposure.

Once the fix is available, it implements a per-client generation ID system to ensure MCP responses are routed only to the originating client, preventing cross-client data exposure.

Compliance Impact

The vulnerability causes MCP tool results to be broadcast to all connected local WebSocket clients instead of only the originating client, leading to potential exposure of sensitive data such as device state, camera feeds, or sensor outputs to unintended recipients.

This improper data exposure can compromise data confidentiality and integrity, which are critical requirements under common standards and regulations like GDPR and HIPAA.

Therefore, exploitation of this vulnerability could lead to non-compliance with these regulations due to unauthorized disclosure of sensitive personal or protected health information.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-13489. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart