mise: Arbitrary command execution via task-include files in an untrusted, config-less repository
Key facts
- Attack vector
- Local
- Privileges required
- None
- User interaction
- Required
- Attack complexity
- Low
- Impact type
- Code execution
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-78.
Summary
mise manages dev tools like node, python, cmake, and terraform. Prior to 2026.6.4, mise's trust feature gates config files (mise.toml, .tool-versions) through trust_check, but task-include files are loaded on a path that never reaches it. When a directory has a task-include dir (mise-tasks/, .mise/tasks/, …) but no config file, mise falls back to the default includes and renders each task's tera fields — and that tera environment has exec() registered. A {{ exec(command='…') }} in any rendered field runs arbitrary commands the moment the tasks are merely listed. There's no config file to gate on, so no trust prompt ever appears. Read-only commands trigger it: mise tasks, mise task ls, mise run, mise tasks --usage (the query shell completion runs on Tab). The victim only has to cd into a cloned repo and list or tab-complete a task. This vulnerability is fixed in 2026.6.4.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| jdx | mise | before 2026.6.4 | 2026.6.4 | Patch available | CNA |
| — | mise (crates.io) | before 2026.6.4 | 2026.6.4 | Patch available | GHSA-77g9-363w-rccq |
- mise Vendorjdx Affected before 2026.6.4 Fixed in 2026.6.4 Patch available CNA
- mise (crates.io) Vendor— Affected before 2026.6.4 Fixed in 2026.6.4 Patch available GHSA-77g9-363w-rccq
Remediation
- Fix · CNA mise (jdx) Fixed in 2026.6.4
- Fix · GHSA-77g9-363w-rccq mise (crates.io) Fixed in 2026.6.4 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-55441
- 2026-10-03 Alias added: GHSA-77g9-363w-rccq
References
More jdx vulnerabilities
- TI-2026-26027 mise: Arbitrary Code Execution via Tera Templates in .tool-versions Files (Trust Bypass) CVSS 3.1CRITICAL 9.6
- TI-2026-74072 Untrusted local config in mise overrides default shell arguments CVSS 3.1HIGH 7.8
- TI-2026-27643 mise has a local settings bypass config trust checks CVSS 3.1HIGH 7.8
- TI-2026-40014 mise: Local credential_command executes untrusted config CVSS 3.1MEDIUM 6.3
- TI-2026-39395 mise HTTP backend uses raw version path for install symlink destination CVSS 3.1MEDIUM 5.5
- TI-2026-50092 mise: Incorrect file ownership, when installed by the root user using `install.sh` CVSS 3.1MEDIUM 6.7
Sources
- CVE-2026-55441 · CVE Program
- CVE-2026-55441 · NVD
- FIRST EPSS
- GHSA-77g9-363w-rccq · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences