8.6 HIGH
- CVSS version (CVSS): 3.1
- Attack Vector (AV): Local (L)
- Attack Complexity (AC): Low (L)
- Privileges Required (PR): None (N)
- User Interaction (UI): Required (R)
- Scope (S): Changed (C)
- Confidentiality (C): High (H)
- Integrity (I): High (H)
- Availability (A): High (H)
- Modified Attack Vector (MAV): Local (L)
- Modified Attack Complexity (MAC): Low (L)
- Modified Privileges Required (MPR): None (N)
- Modified User Interaction (MUI): Required (R)
- Modified Confidentiality (MC): High (H)
- Modified Scope (MS): Changed (C)
- Modified Integrity (MI): High (H)
- Modified Availability (MA): High (H)
Activity log
- Created suggestion
mise: Arbitrary command execution via task-include files in an untrusted, config-less repository
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.
References
-
https://github.com/jdx/mise/security/advisories/GHSA-77g9-363w-rccq x_refsource_CONFIRM
Affected products
- ==< 2026.6.4
Matching in nixpkgs
pkgs.mise
Front-end to your dev env
pkgs.haskellPackages.promises
Lazy demand-driven promises
pkgs.python312Packages.promise
None
pkgs.python313Packages.promise
Ultra-performant Promise implementation in Python
pkgs.python314Packages.promise
Ultra-performant Promise implementation in Python
pkgs.ocamlPackages.promise_jsoo
Js_of_ocaml bindings to JS Promises with supplemental functions
pkgs.python312Packages.heatmiserv3
None
pkgs.python313Packages.heatmiserv3
Library to interact with Heatmiser Themostats using V3 protocol
pkgs.python314Packages.heatmiserv3
Library to interact with Heatmiser Themostats using V3 protocol
pkgs.haskellPackages.unsafe-promises
Create pure futures using lazy IO
pkgs.ocamlPackages_latest.promise_jsoo
Js_of_ocaml bindings to JS Promises with supplemental functions