mise is vulnerable to OS Command Injection
78
High Risk
mise loads the [settings] table from a project-local .mise.toml before evaluating whether that config is trusted, and the default shell-interpreter argument settings (unix_default_inline_shell_args, unix_default_file_shell_args, and their Windows equivalents) are not restricted to global config. A local, untrusted config can therefore override the interpreter used to run inline commands, file tasks, postinstall directives, hooks, and exec template calls that originate from trusted or global sources. Because the real command is appended after the operator-controlled interpreter arguments, an untrusted repository can achieve arbitrary command execution when a developer runs a task, installs a tool, or renders a template while inside that directory. The fix marks the four default shell-argument settings as global-only so they are stripped from non-global configuration.
You are affected if you are using a version that falls within the vulnerable range and you run mise inside an untrusted repository that contains a local .mise.toml setting the default shell-interpreter arguments.
mise is vulnerable to OS Command Injection in versions 0.0.1 - 2026.7.13.
Upgrade the mise and/or the jdx/mise library to the patch version.
Connect your repositories to instantly see whether vulnerable or malicious packages exist in your codebase.
Free. No credit card required.

I consent to receiving marketing communications based on Aikido’s Privacy Policy.
SOC 2Compliant
ISO 27001Compliant