Mise
Monthly
mise (a polyglot dev tool manager for node, python, cmake, terraform, and others) before version 2026.7.14 lets a malicious local project inject interpreter arguments through an untrusted .mise.toml [settings] file, causing attacker-chosen commands to execute with the developer's privileges. In default non-safe mode, mise applies local project settings before trust approval, and the unix_default_file_shell_args, unix_default_inline_shell_args, windows_default_file_shell_args, and windows_default_inline_shell_args fields were missing the global_only marker, so they survived strip_local_only_settings. When a developer later runs a trusted task, postinstall directive, template exec, or hook that has no explicit shell, mise appends the legitimate command after the attacker-controlled interpreter arguments, and the attacker's command runs first despite the config never being trusted. Exploitation is local and requires user interaction (the victim must clone/open and run the affected task); there is no public exploit code and no confirmed active exploitation at time of analysis, and this is best characterized as a conditional local-escalation risk rather than a mass-exploitation threat. Fixed in 2026.7.14.
Local privilege escalation in mise (jdx/mise), the polyglot dev tool version manager, allows a local user with UID and GID 1001 to gain ownership of a root-installed system binary. Prior to version 2026.7.1, release tar archives embedded non-root UID/GID 1001 metadata from the build environment, and the standalone install script failed to normalize ownership before placing the binary in shared paths such as /usr/local/bin, leaving the installed executable writable by any user matching that UID/GID pair. No public exploit has been identified at time of analysis, and no CISA KEV listing exists, but the attack path is mechanically straightforward in multi-user environments where a local account happens to share UID/GID 1001 with the build system.
mise (a polyglot dev tool manager for node, python, cmake, terraform, and others) before version 2026.7.14 lets a malicious local project inject interpreter arguments through an untrusted .mise.toml [settings] file, causing attacker-chosen commands to execute with the developer's privileges. In default non-safe mode, mise applies local project settings before trust approval, and the unix_default_file_shell_args, unix_default_inline_shell_args, windows_default_file_shell_args, and windows_default_inline_shell_args fields were missing the global_only marker, so they survived strip_local_only_settings. When a developer later runs a trusted task, postinstall directive, template exec, or hook that has no explicit shell, mise appends the legitimate command after the attacker-controlled interpreter arguments, and the attacker's command runs first despite the config never being trusted. Exploitation is local and requires user interaction (the victim must clone/open and run the affected task); there is no public exploit code and no confirmed active exploitation at time of analysis, and this is best characterized as a conditional local-escalation risk rather than a mass-exploitation threat. Fixed in 2026.7.14.
Local privilege escalation in mise (jdx/mise), the polyglot dev tool version manager, allows a local user with UID and GID 1001 to gain ownership of a root-installed system binary. Prior to version 2026.7.1, release tar archives embedded non-root UID/GID 1001 metadata from the build environment, and the standalone install script failed to normalize ownership before placing the binary in shared paths such as /usr/local/bin, leaving the installed executable writable by any user matching that UID/GID pair. No public exploit has been identified at time of analysis, and no CISA KEV listing exists, but the attack path is mechanically straightforward in multi-user environments where a local account happens to share UID/GID 1001 with the build system.