CVE-2026-103929 mise permits untrusted local configuration to override default shell arguments

High 7.8 Published Updated

An attacker can execute arbitrary commands with developer privileges by manipulating untrusted local configuration to override default shell arguments in mise.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Local or same network only
Victim action needed
A user has to click or open something
Fix
Available

What is CVE-2026-103929?

CVE-2026-103929 is a high-severity command injection vulnerability in jdx mise, published on 14 Oct 2026. It can only be exploited from the same machine or local network, and only if a user opens a file or follows a link.

Official 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.

Weakness: CWE-78, CWE-284

Which versions are affected by CVE-2026-103929?

2 open source packages ship an affected version, including mise.

PackageAffectedFixed in
mise crates.ioAll versions2026.7.14
mise crates.ioAll versions2026.7.14

How do I fix CVE-2026-103929?

Upgrade mise to 2026.7.14 or later.

Upgrade, and pass arguments to programs as a list instead of through a shell. More about Command injection.

Is CVE-2026-103929 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-103929 exists.

Sources

Also known as GHSA-g74g-rg72-j2p3.

Is CVE-2026-103929 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free