// threat brief
Astron Agent workflow code node runs without a sandbox: a low-privilege tenant can run code as root and reach other tenants' data
- CVSS
- 9.9 CRITICAL
- CISA KEV
- Not listed
- Weakness
- CWE-95 · CWE-306 · CWE-653 · CWE-863 · CWE-1392
- Topics
- AI security
AI review 2026-10-13 (not human-reviewed)Command tests: none yetReproduced: not yetVerification record ↓
Astron Agent before 1.1.2 runs workflow code unsandboxed by default, letting a low-privilege tenant run code as root and reach other tenants' data.
| Who is affected | Organizations running iflytek Astron Agent before 1.1.2 (vendor wording: v1.1.1 and earlier when using the legacy unsandboxed local executor). Before 1.1.2 that executor is the default unless CODE_EXEC_TYPE was changed. Single-tenant deployments are affected too. |
|---|---|
| What happens | A logged-in user with permission to create workflows can run arbitrary code as root inside the core-workflow container, then use shared service and database credentials to bypass tenant checks, read or modify other tenants' data, and disrupt shared services. |
| What to do now | Upgrade the deployment files and all service images together to v1.1.2; updating only the source checkout or only the workflow image is not a complete fix. The sources we reviewed list no vendor workaround other than upgrading. |
| Affected versions | Before 1.1.2 (CVE record); vendor: v1.1.1 and earlier when using the legacy unsandboxed local executor |
| Fixed versions | v1.1.2 or later (deployment files and all service images must be updated together) |
| CVSS vector | Show full vectorCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H |
| Timeline |
|
Blue team playbook
Check, fix / mitigate, respond, harden. Matching the affected versions does not mean you were compromised, and a check that finds nothing does not prove you are safe; each item says what it can and cannot show. Tagged steps point to where the attack flow below can be stopped.
- 01Check deployed image versions directly
Where to run: on the Docker host that runs Astron Agent, as an account with docker permissions (read-only; it only lists containers on your own host and changes nothing). The vendor warns that automated vulnerability scanners may not flag this application-level issue; verify the deployed image versions explicitly. Any service still at v1.1.1 or earlier should be treated as affected.
Read-only checkdocker ps --format '{{.Names}}\t{{.Image}}' - 02Check whether the local executor is in use
Where to run: on the deployment host, from inside the Astron Agent docker/astronAgent deployment directory (read-only; changes nothing). It searches the current directory and all subfolders, covering .env, docker-compose.yaml and config/workflow/config.env (the original report reproduced in the vendor advisory GHSA-mh3w-4q3f-2fg5 (that page contains exploit code, so PlainCVE does not link to it) says v1.1.1 sets CODE_EXEC_TYPE=local in that file). Before 1.1.2, if CODE_EXEC_TYPE is unset or set to local, the unsandboxed LocalExecutor is in use, so no matches does not mean you are safe: before 1.1.2 the code itself defaults to local.
Read-only checkgrep -rn 'CODE_EXEC_TYPE' .
- 01Fully upgrade to v1.1.2
Update the deployment files and all service images together; updating only the source checkout or only the workflow image is not a complete fix. In the sources we reviewed, the vendor lists no workaround besides upgrading; the mitigations on OpenCVE appear to be AI-generated, not vendor guidance.
- 02Remove CODE_EXEC_TYPE=local after upgrading
Vendor: from v1.1.2, local is no longer supported; use the default isolated executor or a supported remote executor (E2B is optional).
- 01Rotate shared service and database credentials
PlainCVE suggestion (not vendor guidance): if you suspect someone ran code through a code node, rotate the shared credentials after upgrading, since an attacker could have obtained them, and check whether cross-tenant data was changed. No source confirms in-the-wild exploitation.
- 01Keep nginx blocking the internal /workflow/v1 route
The researchers say the bundled nginx rule is the only thing keeping this internal route from being an unauthenticated internet-facing path. PlainCVE suggests keeping it in place and watching for SSRF (server-side request forgery) issues that could reach the workflow service.
- 02Limit workflow-creation permission
PlainCVE suggestion: the attack needs workflow-creation permission, so grant it only to accounts that truly need it.
Full remediation steps and notes
- Upgrade the deployment files and all service images to v1.1.2 together, then verify each one on the Docker host running Astron Agent (docker permissions required) with
docker ps --format '{{.Names}}\t{{.Image}}'. The vendor warns that automated scanners may not flag this issue. - After upgrading, remove any remaining
CODE_EXEC_TYPE=local; use the default isolated executor (LangChain/Pyodide) or a supported remote executor. E2B is optional. - v1.1.2 also strengthens authentication on internal Workflow and Tenant service APIs, tenant checks, credential handling and deployment isolation.
- In the sources we reviewed, the vendor lists no workaround besides upgrading; the mitigations on OpenCVE appear to be AI-generated, not vendor guidance.
Attack flow
Read left to right: this is the order the attack happens in. A blue shield means the step can be stopped; the earlier, the better. Click an icon for details.
Read top to bottom: this is the order the attack happens in. A blue shield means the step can be stopped; the earlier, the better. Tap an icon for details.
- Attacker
Logs in with a low-privilege tenant account and creates a workflow with a code node
Requires a logged-in account with permission to create workflows. No other user has to do anything.
Defense: PlainCVE suggestion: grant workflow-creation permission only to people who need it (this narrows who can attack, but does not replace upgrading).
- Your system
With default settings, the platform picks LocalExecutor to run the code
When a code node runs, the local executor is used unless CODE_EXEC_TYPE was changed. The researchers also note that the internal /workflow/v1 route needs no authentication; the bundled nginx rule is the only thing blocking it from outside.
Defense: Upgrade to v1.1.2: the isolated LangChain/Pyodide executor becomes the default and CODE_EXEC_TYPE=local is no longer supported.
- Your system
The code runs as root inside the core-workflow container
LocalExecutor hands the full set of Python built-ins to dynamically executed code, without the sandbox restrictions the documentation describes.
Defense: v1.1.2 rejects unsafe local code execution.
- Attacker
Uses shared credentials to bypass tenant checks and read or modify other tenants' data
Shared service and database credentials are available from the container, defeating application-level tenant isolation; shared services can also be disrupted.
Defense: v1.1.2 also strengthens authentication on internal Workflow and Tenant service APIs, tenant checks, credential handling and deployment isolation.
Who is affected
| Condition | Affected? |
|---|---|
| Astron Agent before 1.1.2 with CODE_EXEC_TYPE unchanged (default) or set to local | Affected |
| Same versions, single-tenant deployment | Still exposed to the code-execution risk (vendor statement) |
| Upgraded to v1.1.2 with deployment files and all service images updated | Fixed |
| Only the source checkout or only the workflow image updated | The vendor says this is not a complete fix |
The CVE record says “before 1.1.2”; the vendor’s release notes say “v1.1.1 and earlier, when using the legacy unsandboxed local code executor.” These don’t conflict: the vendor just adds a configuration condition, and before 1.1.2 that executor is the default.
The attacker needs a logged-in, low-privilege tenant account (a tenant is one customer’s or team’s separate space in a shared system); the vendor adds that it needs permission to create workflows.
How it works
Astron Agent lets users add “code nodes” to a workflow: steps where they write their own Python to process data. The documentation says this code runs in a sandbox (a restricted environment). But before 1.1.2, unless CODE_EXEC_TYPE was set explicitly, the platform picked LocalExecutor, which hands the full set of Python built-ins straight to the user’s code, without the sandbox restrictions the documentation describes.
The result: the code runs as root inside the core-workflow container. That container holds service and database credentials shared across tenants. With them, an attacker can bypass the application’s tenant checks, read or modify other tenants’ data, and disrupt shared services.
The researchers’ original report (reproduced in the vendor advisory GHSA-mh3w-4q3f-2fg5; that page contains exploit code, so PlainCVE does not link to it) also notes that the internal /workflow/v1 execution route needs no authentication; the bundled nginx config blocks it from outside by returning 404. So it can be used without credentials only from inside the deployment network, or through an SSRF (a flaw that makes the server send requests on the attacker’s behalf) that can reach the workflow service.
The flawed approach (conceptual illustration, not the original source code):
Show code example(python)
# Run user code inside the platform's own process, with every built-in available
exec(user_code, {"__builtins__": FULL_BUILTINS})The fixed approach:
Show code example(python)
if exec_type == "local":
raise UnsupportedExecutor() # local execution is no longer allowed
isolated_executor.run(user_code) # hand off to an isolated executorWeakness types: CWE-95 (eval injection), CWE-306 (missing authentication for critical function), CWE-653 (improper isolation), CWE-863 (incorrect authorization), CWE-1392 (use of default credentials).
Timeline
| Date | Event |
|---|---|
| 2026-07-17 | Researchers’ first authenticated end-to-end test run (on their own deployment) |
| 2026-08-28 | Fix PR #1650 merged into main via PR #1651 (commit 848daba) |
| 2026-09-07 | Maintainer publishes security advisory GHSA-mh3w-4q3f-2fg5 (first disclosure; that page contains exploit code, so PlainCVE does not link to it); v1.1.2 security release the same day, whose notes say the advisory is now public; CVE still awaiting assignment |
| 2026-10-09 | CVE record published |
| 2026-10-12 | Not listed in CISA KEV |
Further reading
- Scoring: the CNA (GitHub) gives CVSS 3.1 9.9 (Critical); the notes contain no separate NVD score.
- Exploitation: as of 2026-10-12 it is not in CISA KEV; no source says whether it has been exploited in the wild or as a zero-day. vuln.today says it found no public exploit at the time of its analysis, but the researchers’ original report reproduced in the maintainer advisory GHSA-mh3w-4q3f-2fg5 (published 2026-09-07) includes a proof of concept (PoC) (that page contains exploit code, so PlainCVE does not link to it). The researchers say they tested only on their own deployments with harmless canaries and touched no iflytek or third-party system.
- OpenCVE shows an EPSS score of 0.00432, but the same page’s AI-written analysis says EPSS is unavailable and that the issue “remains unpatched in many environments.” That analysis contradicts itself and is unsupported.
- OSV’s version range starts at “0”; our analysis is that this only means no starting version was identified, and the version that introduced the bug is unknown.
- The first-disclosure date follows the maintainer advisory GHSA-mh3w-4q3f-2fg5 (that page contains exploit code, so PlainCVE does not link to it), which shows 2026-09-07 (the v1.1.2 release notes from the same day also say the advisory is public; earlier than the CVE record’s 2026-10-09). The fix (release commit 189600dd691e8562bd0b9f7112727b107b8a2e10) shipped about a month before the CVE was published.
- Reported by Noy Pearl and the Lasso Security team.
Verification Checked item by item against sources by AI under our review rules, all passed; not human-reviewed and not yet reproduced in our lab
| AI review | 2026-10-13 · review rules |
|---|
Verification records describe the environment and the result only, never reproduction steps or code that could attack other people’s systems. See our policy.
Sources
- AdvisoryCVE-2026-108263 record (CVE API) · CVE Program, 2026-10-09 · accessed 2026-10-12
- Patch / releaseastron-agent v1.1.2 release · iflytek (GitHub) · accessed 2026-10-12
- Patch / releaseastron-agent PR #1651 · iflytek (GitHub), 2026-08-28 · accessed 2026-10-12
- OtherOSV - CVE-2026-108263 · OSV · accessed 2026-10-12
- OtherOpenCVE - CVE-2026-108263 · OpenCVE · accessed 2026-10-12
- Otherastron-agent tag · vuln.today · accessed 2026-10-12
Press brief
In one sentence
Astron Agent is iflytek's open-source workflow platform for AI agents. Versions before 1.1.2 ran user-written code without a sandbox by default, letting a logged-in, low-privilege user with permission to create workflows run code as root inside a server container and then read or modify other tenants' data. Noy Pearl and the Lasso Security team reported the flaw, which is scored CVSS 9.9; the fixed version v1.1.2 is available. As of 2026-10-12 it was not in CISA's Known Exploited Vulnerabilities catalog.
Key facts
- Severity
- CVSS 3.1 9.9 (CNA: GitHub) cveawg.mitre.org
- Fixed version
- v1.1.2 github.com
- First disclosed (maintainer advisory GHSA-mh3w-4q3f-2fg5 made public; per the v1.1.2 release notes)
- 2026-09-07 github.com
- CVE published
- 2026-10-09 cveawg.mitre.org
- Advisory ID (that page contains exploit code, so PlainCVE does not link to it; ID as listed in the CVE record)
- GHSA-mh3w-4q3f-2fg5 cveawg.mitre.org
- Reported by
- Noy Pearl and the Lasso Security team github.com
Confirmed
- Before 1.1.2 the unsandboxed LocalExecutor is the default, and a low-privilege tenant can run code as root in the core-workflow container.
- An attacker can use shared credentials to bypass tenant checks and read or modify other tenants' data.
- The vendor fixed it in v1.1.2 and says deployment files and all images must be updated together.
- As of 2026-10-12 it is not listed in CISA KEV.
- The researchers' original report reproduced in the maintainer advisory GHSA-mh3w-4q3f-2fg5 (published 2026-09-07) includes a proof of concept (PoC) (that page contains exploit code, so PlainCVE does not link to it).
Unconfirmed / disputed
- No source says whether it has been exploited in the wild, or exploited before a patch existed.
- OpenCVE's AI-written analysis says the issue 'remains unpatched in many environments' and EPSS is 'not available', yet the same page shows EPSS 0.00432; it contradicts itself and is unsupported.
- The version that introduced the bug is not known.
Quotable line
The documentation promised a sandbox; the default setting simply didn't have one.
Images
Download the share image (PNG) · Attack flow diagram (downloadable)
Please credit "PlainCVE" and link to this page. Full citation format is under "How to cite" below. Found a factual error? Report it.
Astron Agent workflow code node runs without a sandbox: a low-privilege tenant can run code as root and reach other tenants' data Astron Agent is iflytek's open-source workflow platform for AI agents. Versions before 1.1.2 ran user-written code without a sandbox by default, letting a logged-in, low-privilege user with permission to create workflows run code as root inside a server container and then read or modify other tenants' data. Noy Pearl and the Lasso Security team reported the flaw, which is scored CVSS 9.9; the fixed version v1.1.2 is available. As of 2026-10-12 it was not in CISA's Known Exploited Vulnerabilities catalog. Key facts: - Severity:CVSS 3.1 9.9 (CNA: GitHub)(https://cveawg.mitre.org/api/cve/CVE-2026-108263) - Fixed version:v1.1.2(https://github.com/iflytek/astron-agent/releases/tag/v1.1.2) - First disclosed (maintainer advisory GHSA-mh3w-4q3f-2fg5 made public; per the v1.1.2 release notes):2026-09-07(https://github.com/iflytek/astron-agent/releases/tag/v1.1.2) - CVE published:2026-10-09(https://cveawg.mitre.org/api/cve/CVE-2026-108263) - Advisory ID (that page contains exploit code, so PlainCVE does not link to it; ID as listed in the CVE record):GHSA-mh3w-4q3f-2fg5(https://cveawg.mitre.org/api/cve/CVE-2026-108263) - Reported by:Noy Pearl and the Lasso Security team(https://github.com/iflytek/astron-agent/releases/tag/v1.1.2) Confirmed: - Before 1.1.2 the unsandboxed LocalExecutor is the default, and a low-privilege tenant can run code as root in the core-workflow container. - An attacker can use shared credentials to bypass tenant checks and read or modify other tenants' data. - The vendor fixed it in v1.1.2 and says deployment files and all images must be updated together. - As of 2026-10-12 it is not listed in CISA KEV. - The researchers' original report reproduced in the maintainer advisory GHSA-mh3w-4q3f-2fg5 (published 2026-09-07) includes a proof of concept (PoC) (that page contains exploit code, so PlainCVE does not link to it). Unconfirmed / disputed: - No source says whether it has been exploited in the wild, or exploited before a patch existed. - OpenCVE's AI-written analysis says the issue 'remains unpatched in many environments' and EPSS is 'not available', yet the same page shows EPSS 0.00432; it contradicts itself and is unsupported. - The version that introduced the bug is not known. 「The documentation promised a sandbox; the default setting simply didn't have one.」— PlainCVE https://plaincve.date/en/vulns/cve-2026-108263-astron-agent-code-node-rce
How to cite this page
This article is CC BY 4.0. Please keep the attribution and link when republishing.
PlainCVE Team (2026). "Astron Agent workflow code node runs without a sandbox: a low-privilege tenant can run code as root and reach other tenants' data". PlainCVE. https://plaincve.date/en/vulns/cve-2026-108263-astron-agent-code-node-rce (accessed YYYY-MM-DD)BibTeX
@misc{cve2026108263astronagentcodenoderce2026,
title = {Astron Agent workflow code node runs without a sandbox: a low-privilege tenant can run code as root and reach other tenants' data},
author = {PlainCVE Team},
year = {2026},
howpublished = {PlainCVE},
url = {https://plaincve.date/en/vulns/cve-2026-108263-astron-agent-code-node-rce},
note = {Updated 2026-10-13}
}