CVE-2026-87986: Mistral Vibe: shell parser bypass enables unapproved RCE
CRITICAL CISA: TRACK*Mistral Vibe, an AI coding agent, is supposed to gate shell command execution behind a user permission check, but a parser weakness means it silently drops shell constructs it cannot interpret before running that check — so an attacker can hide malicious commands inside syntax the approval logic never sees, letting arbitrary code execute without the user ever consenting. With 472 downstream dependents and no patched version currently listed, the blast radius spans any developer or pipeline that trusts Vibe's approval prompts as a safety boundary. There is no CISA KEV listing, no public exploit, and no EPSS score yet, so this looks pre-exploitation rather than actively weaponized — but the vulnerability class (a confused-deparser bypass of an agent's own safety gate, CWE-228) is exactly the kind of flaw that gets weaponized fast once researchers publish proof-of-concept payloads, especially given the vendor advisory is already public via HiddenLayer. Treat this as an urgent action item: pin or disable Vibe's autonomous command execution until a fix ships, monitor the vendor advisory for a patched release, and in the meantime review shell command logs from any host running Vibe for constructs (unusual quoting, escaped delimiters, embedded subshells) that wouldn't normally appear in legitimate developer workflows.
What is the risk?
Critical. This is a defense-evasion flaw in the core safety control of an AI coding agent — the human-approval gate for shell command execution — not a peripheral bug. Exploitability is currently unconfirmed in the wild (no KEV entry, no EPSS score, no public exploit or Nuclei template), but the underlying bug class (parser cannot fully interpret shell grammar, silently omits the unparsed remainder from inspection) is well understood by attackers and historically easy to weaponize once a specific bypass string is found. The impact ceiling is full arbitrary code execution on the developer or CI machine running Vibe, which is a self-contained AI-agent supply-chain risk with no need for the victim to click anything beyond invoking the agent on attacker-influenced input (e.g., a malicious repo, prompt, or task file).
How does the attack unfold?
What systems are affected?
| Package | Ecosystem | Vulnerable Range | Patched |
|---|---|---|---|
| Mistral AI | pip | — | No patch |
Do you use Mistral AI? You're affected.
How severe is it?
What should I do?
1 step-
1) Check the HiddenLayer advisory (https://www.hiddenlayer.com/sai-security-advisory/2026-09-mistral-vibe4) and Mistral Vibe's changelog for a patched release; upgrade immediately once available. 2) Until patched, disable or heavily restrict Vibe's autonomous shell/command execution feature, or run it only inside a disposable, network-isolated sandbox/container with no access to sensitive credentials or production systems. 3) Do not treat the approval prompt as a sufficient security boundary — apply OS-level command allowlisting or a mediating shell wrapper that independently validates the full command string rather than trusting the agent's own parsed representation. 4) Detection: audit shell/process execution logs on hosts running Vibe for command strings containing unusual shell metacharacters, nested quoting, command substitution (
$(), backticks), or multi-statement separators that don't match the command the user believes they approved. 5) Treat this as a supply-chain-adjacent risk — restrict Vibe usage to trusted repositories/prompts until confidence in the fix is established.
What does CISA's SSVC say?
Source: CISA Vulnrichment (SSVC v2.0). Decision based on the CISA Coordinator decision tree.
How is it classified?
Which compliance frameworks are affected?
This CVE is relevant to:
Frequently Asked Questions
What is CVE-2026-87986?
Mistral Vibe, an AI coding agent, is supposed to gate shell command execution behind a user permission check, but a parser weakness means it silently drops shell constructs it cannot interpret before running that check — so an attacker can hide malicious commands inside syntax the approval logic never sees, letting arbitrary code execute without the user ever consenting. With 472 downstream dependents and no patched version currently listed, the blast radius spans any developer or pipeline that trusts Vibe's approval prompts as a safety boundary. There is no CISA KEV listing, no public exploit, and no EPSS score yet, so this looks pre-exploitation rather than actively weaponized — but the vulnerability class (a confused-deparser bypass of an agent's own safety gate, CWE-228) is exactly the kind of flaw that gets weaponized fast once researchers publish proof-of-concept payloads, especially given the vendor advisory is already public via HiddenLayer. Treat this as an urgent action item: pin or disable Vibe's autonomous command execution until a fix ships, monitor the vendor advisory for a patched release, and in the meantime review shell command logs from any host running Vibe for constructs (unusual quoting, escaped delimiters, embedded subshells) that wouldn't normally appear in legitimate developer workflows.
Is CVE-2026-87986 actively exploited?
No confirmed active exploitation of CVE-2026-87986 has been reported, but organizations should still patch proactively.
How to fix CVE-2026-87986?
1) Check the HiddenLayer advisory (https://www.hiddenlayer.com/sai-security-advisory/2026-09-mistral-vibe4) and Mistral Vibe's changelog for a patched release; upgrade immediately once available. 2) Until patched, disable or heavily restrict Vibe's autonomous shell/command execution feature, or run it only inside a disposable, network-isolated sandbox/container with no access to sensitive credentials or production systems. 3) Do not treat the approval prompt as a sufficient security boundary — apply OS-level command allowlisting or a mediating shell wrapper that independently validates the full command string rather than trusting the agent's own parsed representation. 4) Detection: audit shell/process execution logs on hosts running Vibe for command strings containing unusual shell metacharacters, nested quoting, command substitution (`$()`, backticks), or multi-statement separators that don't match the command the user believes they approved. 5) Treat this as a supply-chain-adjacent risk — restrict Vibe usage to trusted repositories/prompts until confidence in the fix is established.
What systems are affected by CVE-2026-87986?
This vulnerability affects the following AI/ML architecture patterns: agent frameworks, AI coding assistants / dev tooling, local AI agents with shell/tool execution.
What is the CVSS score for CVE-2026-87986?
No CVSS score has been assigned yet.
What is the AI security impact?
Affected AI Architectures
MITRE ATLAS Techniques
AML.T0050 Command and Scripting Interpreter AML.T0053 AI Agent Tool Invocation AML.T0107 Exploitation for Defense Evasion AML.T0112.000 Local AI Agent Compliance Controls Affected
What are the technical details?
Original Advisory
An arbitrary code execution vulnerability in Mistral Vibe allows an attacker to bypass command permission checks using shell constructs it's parser cannot interpret. Unparsed portions are omitted from inspection, enabling embedded commands to execute on the user's system without approval.
Exploitation Scenario
An attacker plants a malicious code repository, task description, or prompt that an unsuspecting developer opens with Mistral Vibe. When Vibe proposes a shell command for the developer to approve, the attacker has crafted the command string using shell syntax Vibe's parser cannot fully interpret — the parser truncates or ignores the trailing/embedded portion when building the human-readable approval prompt, so the developer sees a benign-looking command and approves it. At execution time, the full unparsed string (including the hidden malicious segment — e.g., a reverse shell, credential exfiltration, or persistence payload) is passed to the actual shell interpreter and runs with the developer's privileges, achieving code execution without the developer knowingly consenting to the malicious portion.
Weaknesses (CWE)
CWE-228 — Improper Handling of Syntactically Invalid Structure: The product does not handle or incorrectly handles input that is not syntactically well-formed with respect to the associated specification.
Source: MITRE CWE corpus.
Timeline
Related Vulnerabilities
GHSA-wx9m-wx4f-4cmg 9.6 mistralai 2.4.6: supply chain dropper executes on import
Same package: mistralai CVE-2026-67623 8.8 Mistral Vibe: RCE via malicious git fsmonitor hook
Same package: mistralai CVE-2026-93993 8.8 Analysis pending
Same package: mistralai CVE-2026-87983 Mistral Vibe: quoted paths bypass file read guard
Same package: mistralai GHSA-jgg6-4rpr-wfh7 Mistral npm SDK: supply chain attack, no impact
Same package: mistralai