CVE-2026-103929
7.8HighPublished 14 Oct 2026 · NVD status: Deferred · AI triage by gemini-3.8-flash
- Attack vector
- Local
- Complexity
- Low
- Privileges needed
- None
- User interaction
- Required
- Impact
- Full C/I/A compromise
- Weakness
- CWE-78, CWE-284
Impact
Attackers can achieve arbitrary code execution under the developer's account when they open an untrusted repository. This requires the user to interact with a repository containing a malicious .mise.toml file before approving trust.
Root cause
Mise loads default shell argument settings from untrusted local project files because those specific settings were not restricted as global-only.
Affected systems
mise prior to 2026.7.14
CVSS v3.1 · CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Fix & remediation
Upgrade mise to version 2026.7.14 or later. If upgrading must wait, avoid opening untrusted repositories or running tasks in projects that are not trusted.
$ mise self-update 2026.7.14AI-suggested. Run it in staging first and check it against the vendor advisory. Why?
NVD description
mise manages dev tools like node, python, cmake, and terraform. Prior to 2026.7.14, in the default non-safe mode, mise loads .mise.toml [settings] from an untrusted local project before trust approval and strip_local_only_settings removes only fields marked global_only. The unix_default_file_shell_args, unix_default_inline_shell_args, windows_default_file_shell_args, and windows_default_inline_shell_args settings were not marked global_only, allowing a repository to replace the default interpreter arguments used by trusted tasks that have no explicit shell, postinstall directives, template exec operations, or hooks that fall back to the default shell. When mise appends the trusted command after the attacker-controlled interpreter arguments, the attacker-selected command can execute first with the developer account's privileges even though the local configuration was never trusted. The separate path-sanitization hardening note in the advisory is outside this vulnerability. This issue is fixed in version 2026.7.14.