{"answers":{"affected":"2 open source packages ship an affected version, including mise.","exploited":"It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-103929 exists.","fix":"Upgrade mise to 2026.7.14 or later.","what":"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."},"fix_prompt":"Check this codebase for CVE-2026-103929 and fix it if it is affected.\n\nWhat it is: 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.\nExploitation: It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-103929 exists.\n\nAffected packages and fixed versions:\n- mise (crates.io): affected all versions; fixed in 2026.7.14\n- mise (crates.io): affected all versions; fixed in 2026.7.14\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2026-103929/ (Markdown: https://insights.sbomify.com/CVE-2026-103929/index.md)","id":"CVE-2026-103929","markdown":"https://insights.sbomify.com/CVE-2026-103929/index.md","name":"CVE-2026-103929","record":{"aliases":["GHSA-g74g-rg72-j2p3"],"analysis":{"component_type":"developer_tool","fix_type":"upgrade","impacts":["code_execution"],"network_reachable":"adjacent_or_local","non_default_config":false,"product_category":"Dev tool manager","requires_auth":"none","summary":"An attacker can execute arbitrary commands with developer privileges by manipulating untrusted local configuration to override default shell arguments in mise.","user_interaction":"required","vuln_class":"command_injection"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[],"cvss":{"score":7.8,"severity":"high","source":"cna","vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","version":"3.1"},"cwes":[{"id":"CWE-78","name":"Improper Neutralization of Special Elements used in an OS Command"},{"id":"CWE-284","name":"Improper Access Control"}],"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.","ecosystems":["crates.io"],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"weaponised"},"has_fix":true,"headline":"mise permits untrusted local configuration to override default shell arguments","id":"CVE-2026-103929","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"crates.io","product":null,"products":[],"type":"command_injection","year":"2026"},"n_packages":2,"n_references":4,"next":{"headline":"cpp-httplib open_stream serializes CRLF in request target into HTTP request line","id":"CVE-2026-103930"},"packages":[{"ecosystem":"crates.io","fixed":["2026.7.14"],"introduced":["0"],"last_affected":[],"package":"mise","purl":null,"source":"GHSA-g74g-rg72-j2p3"},{"ecosystem":"crates.io","fixed":["2026.7.14"],"introduced":["0"],"last_affected":[],"package":"mise","purl":"pkg:cargo/mise","source":"GHSA-g74g-rg72-j2p3"}],"prev":{"headline":"Metabase: Arbitrary File Read/Write via Unsafe H2 Built-in Functions","id":"CVE-2026-103928"},"products":["mise"],"published":"2026-10-14","related":[],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CC BY 4.0","name":"GitHub Advisory Database","prefix":"GHSA"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"no","exploitation":"poc","technical_impact":"total"},"state":"PUBLISHED","updated":"2026-10-15","vendors":["jdx"]},"summary":"An attacker can execute arbitrary commands with developer privileges by manipulating untrusted local configuration to override default shell arguments in mise.","url":"https://insights.sbomify.com/CVE-2026-103929/"}