
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-71235 is a code injection vulnerability in the Rules Engine component of Magistrala, an open-source IoT platform framework developed by absmach. The flaw allows authenticated low-privileged users to create rules containing embedded Go or Lua scripts that are executed server-side when IoT messages arrive, with no adequate sandboxing or input validation. Affected software is github.com/absmach/magistrala (all versions; specific patched versions are currently unknown). The vulnerability was published on August 5, 2026, and was assigned by TuranSec. It carries a CVSS v3.1 base score of 8.8 (High) per NVD, with an alternative score of 9.9 reported by ENISA (Github Advisory, Red Hat Bugzilla).
The vulnerability is classified as CWE-94 (Improper Control of Generation of Code / Code Injection). Two distinct script engines are affected: the Go engine (re/golang.go) uses the Yaegi interpreter loaded with stdlib.Symbols, exposing the full Go standard library — including os and net/http — with validation limited only to a regex that blocks goroutine creation and panic() calls, leaving dangerous functions such as os.ReadFile, os.WriteFile, os.Remove, and os.Environ fully accessible. The Lua engine (re/lua.go) performs no input validation whatsoever and preloads dangerous libraries including db (arbitrary database access), ioutil (file I/O), an HTTP client (enabling SSRF), and filepath (path traversal). An attacker with any authenticated account can craft a malicious rule script and trigger its execution by sending an IoT message to the platform (Red Hat Bugzilla, Github Advisory).
Successful exploitation allows an authenticated low-privileged user to achieve arbitrary file read and write on the server, leak environment variables (including secrets and service tokens), perform arbitrary database queries, and conduct Server-Side Request Forgery (SSRF) against internal microservices within the Magistrala deployment. Given that Magistrala uses service tokens and internal credentials stored in environment variables (e.g., MG_ATOM_TOKEN_*, broker secrets), environment variable leakage could enable lateral movement to other platform components such as the message broker, database, and identity services. The combination of file I/O, database access, and SSRF makes full platform compromise feasible from a single low-privileged account (Red Hat Bugzilla, Github Advisory).
No public proof-of-concept exploit code is known to exist, and there is no evidence of in-the-wild exploitation at this time (Github Advisory). The NVD SSVC assessment classifies exploitation as "none" and the attack as non-automatable, as it requires an authenticated session. The EPSS score is approximately 0.288% (21st percentile), indicating a relatively low near-term exploitation probability. The vulnerability has not been added to the CISA Known Exploited Vulnerabilities (KEV) catalog. A Nessus detection plugin (ID 332742) has been published by Tenable, and the CVE appeared in a CISA vulnerability bulletin (SB26-222) for awareness.
import "os"
data, _ := os.ReadFile("/proc/1/environ")
// exfiltrate via os.WriteFile or net/httpThis bypasses the blocklist since only goroutine creation and panic() are restricted.ioutil, db, or HTTP client libraries in a Lua rule script, for example, reading a sensitive file or making an internal HTTP request to an internal microservice endpoint (SSRF).os.ReadFile, os.WriteFile, os.Environ) within user-submitted rule scripts; unusual database query patterns originating from the Rules Engine process./proc/*/environ, service configuration files, or TLS certificate/key files (e.g., docker/ssl/certs/, docker/fluxmq/secrets/).os.* or net/http calls, or Lua scripts using ioutil, db, filepath, or HTTP client library calls.No official patch with a specific fixed version has been identified at this time; the GitHub Advisory Database lists both affected and patched versions as unknown (Github Advisory). Recommended mitigations include: restricting rule creation permissions to highly trusted administrators only; implementing strict input validation and sandboxing for both Go and Lua script engines; disabling or removing dangerous standard library preloads (db, ioutil, HTTP client, filepath) from the Lua engine; replacing the Go engine's regex blocklist with an allowlist of safe operations; running the Rules Engine in an isolated container with minimal filesystem permissions, no access to sensitive paths, and restricted network egress; and regularly auditing existing rules for malicious payloads. Monitor the Magistrala GitHub repository and GitHub Advisory GHSA-vq5v-m87m-6pqm for patch releases.
The vulnerability was reported by TuranSec and tracked by Red Hat's Product Security team via Bugzilla, with 133 CC'd users indicating broad internal awareness (Red Hat Bugzilla). The CVE was referenced in a CISA vulnerability bulletin (SB26-222), and a Tenable Nessus detection plugin (ID 332742) was published shortly after disclosure. No notable public researcher commentary or significant social media discussion has been identified beyond standard vulnerability aggregator coverage.
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."