Read the docs

Untrusted local config in mise overrides default shell arguments

Priority HIGH 69CWE-284Published · Updated

Key facts

Attack vector
Local
Privileges required
None
User interaction
Required
Attack complexity
Low
Impact type
Security bypass, Code execution
Confidentiality · integrity · availability
High · High · High
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-284 and CWE-78.

Summary

mise versions before 2026.7.14 load shell argument settings from an untrusted local .mise.toml before the project is trusted, because those settings are not restricted to global configuration (CWE-284). An attacker who supplies a malicious repository can get commands run with the developer's privileges when the developer runs trusted mise tasks there. Exploitation requires user interaction.

Written with Claude Haiku 5.5 from the sources below · 2026-10-28

Description from the CNA

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.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00257 17th percentileScored 2026-11-07
Fix Fixed mise (jdx): 2026.7.14mise (crates.io): 2026.7.14

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
No
Technical impact
Total

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
jdxmisebefore 2026.7.142026.7.14Patch availableCNA
—mise (crates.io)before 2026.7.142026.7.14Patch availableGHSA-g74g-rg72-j2p3
  • mise Vendorjdx Affected before 2026.7.14 Fixed in 2026.7.14 Patch available CNA
  • mise (crates.io) Vendor— Affected before 2026.7.14 Fixed in 2026.7.14 Patch available GHSA-g74g-rg72-j2p3

Remediation

Upgrade the crates.io package mise to version 2026.7.14, which fixes this issue. The sources list no fixed version for mise.

Written with Claude Haiku 5.5 from the sources below · 2026-10-28

  • Fix · CNA mise (jdx) Fixed in 2026.7.14
  • Fix · GHSA-g74g-rg72-j2p3 mise (crates.io) Fixed in 2026.7.14 Advisory →

Timeline

  1. 2026-10-14 Threatist record created from CVE-2026-103929
  2. 2026-10-16 Alias added: GHSA-g74g-rg72-j2p3
  3. 2026-10-16 Fix available: crates.io/[email protected] · GHSA-g74g-rg72-j2p3
  4. 2026-10-16 CVSS score added · GHSA-g74g-rg72-j2p3
  5. 2026-10-16 Weakness changed · GHSA-g74g-rg72-j2p3
  6. 2026-10-16 6 new references · GHSA-g74g-rg72-j2p3
  7. 2026-10-16 CISA SSVC decision points changed
  8. 2026-10-16 Priority changed: MEDIUM → HIGH

References

  • TI-2026-26027 mise: Arbitrary Code Execution via Tera Templates in .tool-versions Files (Trust Bypass) CVSS 3.1CRITICAL 9.6
  • TI-2026-27643 mise has a local settings bypass config trust checks CVSS 3.1HIGH 7.8
  • TI-2026-40014 mise: Local credential_command executes untrusted config CVSS 3.1MEDIUM 6.3
  • TI-2026-39395 mise HTTP backend uses raw version path for install symlink destination CVSS 3.1MEDIUM 5.5
  • TI-2026-40009 mise: Arbitrary command execution via task-include files in an untrusted, config-less repository CVSS 3.1HIGH 8.6
  • TI-2026-50092 mise: Incorrect file ownership, when installed by the root user using `install.sh` CVSS 3.1MEDIUM 6.7

Sources