CVE-2026-103929: mise untrusted local configuration shell argument injection

CVE-2026-103929 · Severity: high · CVSS 7.8 · Published 2026-10-15

mise is a development tool that manages language versions and tasks for projects. When a developer enters a directory containing an untrusted .mise.toml configuration file, the tool loads shell interpreter settings from that file without asking for permission, allowing an attacker to inject arbitrary shell commands. An attacker who publishes a malicious repository can execute code on a developer's machine when they clone it and run common mise commands like task execution, tool installation, or templates.

Technologies: mise (crates.io). Vendors: crates.io.

Quick answers

Is CVE-2026-103929 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-103929 being exploited in the wild.
How severe is CVE-2026-103929?
High severity, with a CVSS score of 7.8, published 15 October 2026.
Which products and versions are affected?
mise (crates.io) <= 2026.7.13, SEMVER:introduced=0,fixed=2026.7.14.
Is there a fix for CVE-2026-103929?
Yes. mise (crates.io): upgrade to 2026.7.14 or later. Until then: Mark the four shell-argument settings (unix_default_inline_shell_args, unix_default_file_shell_args, windows_default_inline_shell_args, windows_default_file_shell_args) as global_only = true in settings.toml, matching the existing protection applied to credential_command settings in the prior CVE fixes. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-103929 attacked?
It is in a software library.
Am I affected by CVE-2026-103929?
Check whether you run mise (crates.io) or Mise at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • mise (crates.io): upgrade to 2026.7.14 or later
    cargo update -p mise

Mark the four shell-argument settings (unix_default_inline_shell_args, unix_default_file_shell_args, windows_default_inline_shell_args, windows_default_file_shell_args) as global_only = true in settings.toml, matching the existing protection applied to credential_command settings in the prior CVE fixes.

Technical details

The vulnerability is a missing global_only flag on four shell-argument settings (unix/windows_default_inline/file_shell_args) in settings.toml. The settings preloader merges local project config without trust validation, and strip_local_only_settings() only removes fields marked global_only. An attacker's untrusted .mise.toml sets these interpreter args, which are then used by tera exec, postinstall runners, task execution, and hooks—appending the real command after the attacker's payload, achieving code execution with no user trust prompt.

Affected products

  • mise mise

Identifiers

  • CVE-2026-103929
  • GHSA-g74g-rg72-j2p3

Timeline

  • 2026-10-15: disclosed

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.