Description
EMQX is a scalable and reliable MQTT broker for AI, IoT, IIoT, and connected vehicles. Prior to versions 5.8.11, 5.9.3, 5.10.4, 6.0.3, 6.1.2, and 6.2.1, the plugin-install REST API and dashboard upload accepted stale grants created with emqx ctl plugins allow because there was no five-minute grant lifetime or SHA-256 package binding. An attacker with a compromised dashboard administrator credential or API key with plugin-install permission who finds a stale allowed name and version can upload attacker-controlled bytes under the allowed .tar.gz filename through POST /api/v5/plugins/install or the dashboard plugin upload. The broker then installs and runs attacker-controlled Erlang code with the privileges of the EMQX process. This issue is fixed in versions 5.8.11, 5.9.3, 5.10.4, 6.0.3, 6.1.2, and 6.2.1.
Published: 2026-08-20
Score: 6.6 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The flaw arises from the ability of the Emqx plugin‑install REST API and the dashboard upload feature to accept stale grants. Grants that were issued more than five minutes earlier, or that were created without a SHA‑256 package binding, remain valid and can be leveraged to install arbitrary .tar.gz files. An attacker who has a dashboard administrator credential or an API key that includes plugin‑install permission can identify a stale grant that references an allowed name and version, then POST a malicious .tar.gz to /api/v5/plugins/install or upload it through the dashboard. The broker subsequently installs and executes the attacker‑supplied Erlang code with the same privileges as the EMQX process, resulting in full remote code execution with escalated privileges.

Affected Systems

The vulnerability affects all EMQX releases older than the following versions: 5.8.11, 5.9.3, 5.10.4, 6.0.3, 6.1.2, and 6.2.1. Any deployment running a pre‑5.8.11, pre‑5.9.3, etc. build is thus susceptible. The affected component is the plugin installation path that does not enforce a limited grant lifetime or package binding.

Risk and Exploitability

The flaw carries a CVSS score of 6.6, indicating medium severity. Because the EPSS score is not available and the vulnerability is not listed in the CISA KEV catalog, the current risk of exploitation is uncertain. Nonetheless, the attack requires privileged access: a compromised dashboard administrator or an API key with plugin‑install rights. Once those credentials are obtained, the attacker can immediately elevate themselves to full control of the Emqx process. The lack of a grant time‑to‑live or binding check makes the window for successful exploitation significant but limited to systems with stale grants that remain in the database.

Generated by OpenCVE AI on August 20, 2026 at 21:12 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade EMQX to a fixed version (≥5.8.11, 5.9.3, 5.10.4, 6.0.3, 6.1.2, or 6.2.1) to eliminate the vulnerable grant handling logic.
  • Verify that all plugin installation grants have a five‑minute lifetime or that SHA‑256 package binding is enforced; remove any stale grants that remain in the database after the upgrade.
  • If plugin installation is not required, disable the plugin‑install REST endpoint or revoke the plugin‑install permission from all API keys and dashboard administrators.

Generated by OpenCVE AI on August 20, 2026 at 21:12 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 20 Aug 2026 15:45:00 +0000

Type Values Removed Values Added
First Time appeared Emqx
Emqx emqx
Vendors & Products Emqx
Emqx emqx

Thu, 20 Aug 2026 14:45:00 +0000

Type Values Removed Values Added
Description EMQX is a scalable and reliable MQTT broker for AI, IoT, IIoT, and connected vehicles. Prior to versions 5.8.11, 5.9.3, 5.10.4, 6.0.3, 6.1.2, and 6.2.1, the plugin-install REST API and dashboard upload accepted stale grants created with emqx ctl plugins allow because there was no five-minute grant lifetime or SHA-256 package binding. An attacker with a compromised dashboard administrator credential or API key with plugin-install permission who finds a stale allowed name and version can upload attacker-controlled bytes under the allowed .tar.gz filename through POST /api/v5/plugins/install or the dashboard plugin upload. The broker then installs and runs attacker-controlled Erlang code with the privileges of the EMQX process. This issue is fixed in versions 5.8.11, 5.9.3, 5.10.4, 6.0.3, 6.1.2, and 6.2.1.
Title EMQX: Stale plugins allow grants amplify a compromised admin/API key to remote code execution
Weaknesses CWE-345
CWE-672
References
Metrics cvssV3_1

{'score': 6.6, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-20T14:35:11.726Z

Reserved: 2026-05-07T18:04:17.308Z

Link: CVE-2026-44725

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-20T15:17:30.003

Modified: 2026-08-20T15:17:30.003

Link: CVE-2026-44725

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-20T21:15:05Z

Weaknesses
  • CWE-345

    Insufficient Verification of Data Authenticity

  • CWE-672

    Operation on a Resource after Expiration or Release