CVE-2026-13491: xiaozhi-esp32 MQTT Denial-of-Service Vulnerability (Public Exploit)
A denial-of-service vulnerability exists in xiaozhi-esp32 versions up to 2.2.6 within the MQTT protocol handler. By manipulating the session_id parameter sent to the Application::GetInstance function, a remote attacker can trigger a crash or service interruption. While the vulnerability is now public and exploits exist, successful exploitation requires specific conditions and technical knowledge, making opportunistic attacks less likely. The vulnerability carries a CVSS 3.1 score of 3.7 (Low severity).
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 3.7 LOW · CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
- Weaknesses (CWE)
- CWE-404
- Affected products
- 0 configuration(s)
- Published / Modified
- 2026-06-28 / 2026-06-29
NVD description (verbatim)
A vulnerability was detected in 78 xiaozhi-esp32 up to 2.2.6. This vulnerability affects the function Application::GetInstance of the file main/protocols/mqtt_protocol.cc of the component MQTT Goodbye Handler. Performing a manipulation of the argument session_id results in denial of service. The attack is possible to be carried out remotely. The complexity of an attack is rather high. It is stated that the exploitability is difficult. The exploit is now public and may be used. The patch is named e182471f8c5a22434346bd98da34d3b66c8c8b3e. It is recommended to apply a patch to fix this issue.
8 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
The flaw resides in main/protocols/mqtt_protocol.cc, specifically in the MQTT Goodbye Handler component's Application::GetInstance function. Improper validation or handling of the session_id argument during MQTT message processing allows an unauthenticated remote attacker to craft a malformed request that causes the application to enter an unrecoverable state or crash. The attack vector is network-based, requires no privileges, but involves high attack complexity due to specific preconditions or environmental factors that must align. The vulnerability is categorized under CWE-404 (Improper Resource Validation).
Business impact
Devices running vulnerable xiaozhi-esp32 firmware are susceptible to service disruption, which could render IoT or embedded systems unresponsive or offline. If xiaozhi-esp32 powers critical IoT deployments—such as smart home hubs, industrial controllers, or networked edge devices—an attacker could launch a denial-of-service attack to disrupt normal operations. The low CVSS score and difficult exploitability reduce the likelihood of widespread attacks, but the public availability of exploit code warrants proactive patching in security-sensitive environments.
Affected systems
All xiaozhi-esp32 installations running version 2.2.6 and earlier are affected. Organizations deploying xiaozhi-esp32-based IoT devices should audit their firmware versions and inventory systems still on vulnerable builds. The ESP32 is a widely-used microcontroller in consumer and industrial IoT products, so the scope of affected devices could be substantial if xiaozhi-esp32 is a popular firmware choice in your ecosystem.
Exploitability
The vulnerability is remotely exploitable without authentication or user interaction, but exploitability is classified as difficult due to high attack complexity. This typically means the attacker must satisfy specific environmental or timing conditions—for example, sending the malformed session_id while the MQTT handler is in a particular state, or having knowledge of valid session identifiers. Public exploit code is now available, reducing the barrier for actors with moderate skill, but the complexity requirement makes mass exploitation unlikely. Nonetheless, targeted attacks against known deployments remain plausible.
Remediation
Update xiaozhi-esp32 to a patched version beyond 2.2.6. The official patch is identified by commit hash e182471f8c5a22434346bd98da34d3b66c8c8b3e. Verify that your deployment includes this commit or a release tag that incorporates it. If automatic over-the-air (OTA) updates are available through your device manufacturer or firmware distributor, apply them promptly. For air-gapped or legacy deployments, plan a controlled rollout of patched firmware.
Patch guidance
Obtain the latest xiaozhi-esp32 release from the official repository and confirm it includes commit e182471f8c5a22434346bd98da34d3b66c8c8b3e or later. Test the patched firmware in a staging environment before wide deployment. Review the release notes for any breaking changes or dependencies. If you maintain a custom build, cherry-pick the fix from the commit hash or merge the latest upstream version. Document the patching activity and version deployed for compliance and audit purposes.
Detection guidance
Monitor network traffic for unusual or malformed MQTT messages, particularly those with unexpected or oversized session_id values. Enable logging on MQTT endpoints to capture connection attempts and disconnections. Watch for patterns of repeated connection failures or unexpected service restarts on devices running xiaozhi-esp32. Implement network segmentation to restrict MQTT traffic to trusted sources. Intrusion detection systems may flag crafted MQTT payloads if signatures are available; consult your IDS vendor for updates. Most importantly, compare running firmware versions against the patch commit to confirm remediation status.
Why prioritize this
Although the CVSS score is low (3.7) and the vulnerability is not on the CISA Known Exploited Vulnerabilities list, the combination of public exploit availability, network-based attack vector, and potential for service disruption in IoT environments warrants medium prioritization. Organizations with customer-facing or mission-critical IoT deployments should patch sooner; those with isolated or non-critical xiaozhi-esp32 devices can deprioritize slightly. The high attack complexity reduces urgency compared to easier-to-exploit flaws.
Risk score, explained
The CVSS 3.1 score of 3.7 reflects a Low severity vulnerability: network-accessible (AV:N), no authentication required (PR:N), high complexity (AC:H), and limited impact—denial of service only (A:L), with no confidentiality or integrity loss (C:N, I:N). The score appropriately captures that while remote attack is possible, specific conditions must be met and only service availability is at risk. However, the public availability of exploits and the IoT context elevate practical risk slightly above the numerical score alone would suggest.
Frequently asked questions
Is our organization likely to be attacked because of this vulnerability?
Exploitation requires specific knowledge of session handling and careful crafting of MQTT messages, making opportunistic mass scanning unlikely. However, if your organization is known to deploy xiaozhi-esp32 devices and you are a valued target, a determined adversary may attempt exploitation. Patching remains the best defense.
Can this vulnerability lead to data loss or theft?
No. The vulnerability causes only a denial-of-service condition—service interruption or crashes. It does not compromise confidentiality or integrity, so no data is stolen or corrupted. The impact is availability only.
How do we know if a patch has been applied to our firmware?
Check the git commit hash of your running firmware build against e182471f8c5a22434346bd98da34d3b66c8c8b3e. Most firmware release notes will indicate the commit ID or you can query the device's version information. Consult your device manufacturer's documentation on how to verify the firmware version.
What should we do if we cannot update firmware immediately?
Implement network-level mitigations: restrict MQTT traffic to trusted internal networks or whitelisted sources, disable MQTT endpoints if not in use, and monitor for suspicious connection patterns. These measures reduce exposure while you plan a firmware update cycle.
This analysis is provided for informational purposes. The vulnerability details and CVSS score are sourced from public records and vendor advisories. No exploit code is provided or endorsed. Organizations must verify patch applicability and compatibility before deployment. The availability of public exploits does not guarantee successful attacks and is subject to environmental factors beyond the scope of this analysis. Always consult official vendor documentation and conduct your own risk assessment before making remediation decisions. Source: NVD (public-domain), retrieved 2026-08-07. Analysis generated by SEC.co (claude-haiku-4-5).
Weaknesses (CWE)
Related vulnerabilities
- CVE-2026-10197LOWAssimp glTF2 Null Pointer Dereference Denial of Service
- CVE-2026-10198LOWAssimp glTF Importer Null Pointer Dereference DoS Vulnerability
- CVE-2026-10199LOWAssimp Null Pointer Dereference in glTF2 Parsing
- CVE-2026-10201LOWAssimp FBX Divide-by-Zero Denial of Service
- CVE-2026-10295LOWDenial of Service in SourceCodester Customer Review App 1.0
- CVE-2026-10298LOWwhisper.cpp Null Pointer Dereference Vulnerability – Local Denial of Service
- CVE-2026-10705LOWDask HyperLogLog Resource Exhaustion Vulnerability
- CVE-2026-10775LOWSGLang Cache Handler Denial-of-Service Vulnerability (v0.5.11)