Description
rust-iot-platform allows creating a "calc rule" via POST /calc-rule/create (api/src/controller/calc_rule_router.rs) containing an arbitrary `script` field. This route does not take the AuthToken request guard used elsewhere in the application, making it reachable without authentication. The stored script is subsequently executed via quick_js::Context::eval() in api/src/biz/calc_run_biz.rs with no sandboxing, allowing an unauthenticated attacker to achieve arbitrary JavaScript execution in the server process by creating and triggering a malicious calc rule.
Published: 2026-08-05
Score: 9.8 Critical
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

rust-iot-platform allows unauthenticated creation of a calc rule via the /calc-rule/create endpoint, which accepts an arbitrary JavaScript script field. Because the stored script is run without sandboxing through quick_js::Context::eval(), an attacker who can create and trigger such a rule can execute any JavaScript code with the privileges of the server process, leading to total compromise of confidentiality, integrity, and availability.

Affected Systems

All versions of rust‑iot‑platform deployed by iot‑ecology are potentially affected. The lack of authentication on the vulnerable endpoint means that any user with network access to the API can exploit it.

Risk and Exploitability

The CVSS score of 9.8 indicates that the vulnerability is critical, with a full impact if exploited. Although the EPSS score is not available, the absence of a CISA KEV listing does not reduce the risk, as the vulnerability can be leveraged remotely through a simple POST request to /calc-rule/create. The attacker does not need any privileges and can trigger the malicious script after rule creation, making exploitation straightforward for anyone with network reach to the API.

Generated by OpenCVE AI on August 5, 2026 at 14:51 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to a version of rust‑iot‑platform that contains the fix for the calc‑rule script execution vulnerability.
  • Add authentication or access controls to the /calc-rule/create endpoint, or restrict it to trusted IP ranges as a temporary containment measure.
  • If an immediate patch is not available, disable calc‑rule creation or execution via configuration or networking controls to prevent the execution of unsandboxed scripts.

Generated by OpenCVE AI on August 5, 2026 at 14:51 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 05 Aug 2026 16:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Wed, 05 Aug 2026 13:15:00 +0000

Type Values Removed Values Added
Description rust-iot-platform allows creating a "calc rule" via POST /calc-rule/create (api/src/controller/calc_rule_router.rs) containing an arbitrary `script` field. This route does not take the AuthToken request guard used elsewhere in the application, making it reachable without authentication. The stored script is subsequently executed via quick_js::Context::eval() in api/src/biz/calc_run_biz.rs with no sandboxing, allowing an unauthenticated attacker to achieve arbitrary JavaScript execution in the server process by creating and triggering a malicious calc rule.
Title rust-iot-platform Unauthenticated Remote Code Execution via Unsandboxed Calc-Rule Script Evaluation
Weaknesses CWE-94
References
Metrics cvssV3_1

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


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: TuranSec

Published:

Updated: 2026-08-05T15:57:11.734Z

Reserved: 2026-08-05T12:23:34.967Z

Link: CVE-2026-71278

cve-icon Vulnrichment

Updated: 2026-08-05T15:57:09.318Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-05T15:00:05Z

Weaknesses
  • CWE-94

    Improper Control of Generation of Code ('Code Injection')