Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessDeliver crafted input to agent
-
DeliveryHide command substitution in single-quoted variable
-
ExploitEvade tree-sitter-bash permission gate
-
ExecutionRe-expand via ${var@P} prompt transform
-
ImpactExecute arbitrary commands in session
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V4 - API and Web Service Interpretation consistency
|
| Exploitation Conditions | Requires Mistral Vibe before 2.25.4 running with its command permission gate (allowlist) active - the very control being bypassed. The attacker must get attacker-controlled input processed by the agent (UI:P), typically through prompt injection in untrusted files, repositories, web content, or tool output that the agent converts into a shell command. The malicious string must end with an allowlisted command so tree-sitter-bash static classification approves it, while a command substitution is concealed inside a single-quoted variable value and re-expanded using the bash ${var@P} prompt-transform operator. Execution depends on bash's promptvars feature being active to expand the prompt transform at runtime. Limiting factors: an operator must actually be running an agent session against the attacker's content, a bash shell is required, and non-patched (pre-2.25.4) versions only; there is no need for the attacker to hold any account or privilege on the target (PR:N). |
| Impact | This is a high-severity but conditionally-exploitable issue rather than a mass-exploitation priority. The provided CVSS 4.0 vector (8.7, AV:N/AC:L/AT:N/PR:N/UI:P) indicates a remotely-reachable, low-complexity, no-privilege flaw with full confidentiality/integrity/availability impact (VC:H/VI:H/VA:H) and no scope change to subsequent systems (SC/SI/SA:N). The single most important moderating signal is UI:P (passive user interaction): exploitation is not autonomous - it requires an operator to be running a Mistral Vibe agent session that processes attacker-controlled input, which the agent then turns into a gated shell command. No EPSS score was provided, so statistical exploitation probability cannot be stated. The CVE is NOT in CISA KEV, so there is no confirmed active exploitation; status is 'no public exploit identified at time of analysis' (a detailed VulnCheck technical advisory describes the technique, but a working POC is not flagged in the input - do not conflate advisory detail with available exploit code). CWE-436 (interpretation conflict) is an accurate root cause: tree-sitter-bash static analysis classifies the command differently than bash classifies it at runtime. Net assessment: genuinely dangerous for anyone running affected Mistral Vibe who feeds it untrusted content (repos, documents, web/tool output), but the UI:P requirement and the niche deployment footprint place it below internet-wide worm-grade threats. A patched version exists, making remediation straightforward. |
| Exploit ScenarioDerived | An attacker plants a crafted shell string - via prompt injection in an untrusted file, repository, web page, or tool output that the Mistral Vibe agent processes - that embeds a command substitution inside a single-quoted variable and re-expands it with bash's ${var@P} prompt-transform operator. Because tree-sitter-bash static parsing only sees and approves the trailing allowlisted command, the permission gate lets it through, and at runtime bash's promptvars feature silently executes the hidden command with the privileges of the agent's terminal session. No public exploit is identified in the input, though VulnCheck has published a technical advisory; the AV:N/AC:L profile makes reliable exploitation plausible once an attacker can get content in front of the agent (UI:P). |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 13, 2026
Command permission gate bypass in Mistral Vibe before 2.25.4 lets input processed by the agent cause arbitrary shell command execution with the privileges of the agent's terminal session, while the allowlist gate reports that only a trailing, allowlisted command was run. The bypass hides a command substitution inside a single-quoted variable value that the agent's tree-sitter-bash static parser cannot see, then triggers execution at runtime through bash's ${var@P} prompt-transform operator; the vendor has fixed the misclassification in 2.25.4. Exploitation is conditional rather than opportunistic - an operator must be running an agent session over attacker-controlled content (prompt injection in untrusted files, repositories, web content, or tool output) and a bash shell with promptvars enabled must be in use - and no public exploit code and no confirmed active exploitation were identified at time of analysis.
RemediationAI
Vendor-released patch: upgrade Mistral Vibe to 2.25.4 (https://github.com/mistralai/mistral-vibe/releases/tag/v2.25.4), which contains the shell permission-check hardening delivered via PR #1084 / commit 19b5b74faa78d0816b8d4d4c7d7543fc3520678c and documented in the VulnCheck advisory. Because the vulnerability is precisely a bypass of the allowlist gate, do not treat the pre-2.25.4 gate as a reliable control: until upgrades are complete, disable auto-approval and smart-approve so every shell command requires explicit human confirmation before execution (trade-off: significant interactive friction and slower agent workflows), and avoid running agent sessions against untrusted repositories, files, or web/tool output that could carry the injected payload (trade-off: reduces the agent's usefulness on third-party content). Running the agent inside a least-privilege sandbox or container with a restricted filesystem and no access to credentials limits the blast radius of a successful bypass. Where feasible, disabling bash prompt expansion (e.g. 'shopt -u promptvars' in the shell that runs agent commands, or running commands under a shell that does not implement the @P parameter transformation) prevents the ${var@P} operator from expanding the hidden substitution, at the cost of disabling prompt-related expansion behavior and potentially breaking legitimate interactive workflows. No public exploit code was identified at time of analysis, so prioritization should be driven by exposure to untrusted content and the presence of the bash/promptvars prerequisites rather than by active exploitation.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The root cause is an interpretation conflict (CWE-436) between the static analyzer the agent relies on for command classification and the real semantics of the shell it ultimately invokes. Mistral Vibe uses tree-sitter-bash to parse and classify a proposed command against a permission allowlist; because single-quoted strings in bash are literal, a command substitution such as $(...) embedded inside a single-quoted variable value is treated by the parser as inert text, while bash will later expand it. Re-expansion is forced with the ${var@P} parameter transformation operator (bash 4.4+), which renders the variable's value as if it were a prompt string, performing prompt expansion and thereby executing the concealed command substitution. The result is that the classified command (the trailing allowlisted one) differs from the command actually executed - a TOCTOU-style gap between static classification and runtime behavior. As the independent assessment notes, exploiting this requires the permission gate/allowlist to be active on a pre-2.25.4 build, a bash shell, and the promptvars feature enabled so the @P transform expands; the CVSS 4.0 vector supplied (AV:N/AC:L/AT:N/PR:N/UI:P) and the assessed CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:R) both indicate no attacker privileges on the target are required, but user interaction is needed to steer attacker-controlled content into the agent. Execution is silent - the operator sees only the allowlisted command.
Know when Mistral Vibe gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Remote attacker content (AV:N/AC:L/PR:N) but the operator must run a session that processes it (UI:R); gate bypass yields arbitrary execution in the same session authority, so S:U and C/I/A:H.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Mistral Vibe before 2.25.4 contains a command permission gate bypass vulnerability that allows attackers to execute arbitrary commands by hiding a command substitution inside a single-quoted variable value that tree-sitter-bash static parsing cannot detect. Attackers can craft input such as embedding a command substitution within a single-quoted variable and re-expanding it with the ${var@P} prompt-transform operator so bash's promptvars feature executes the hidden command at runtime while only the trailing allowlisted command is classified, resulting in silent arbitrary command execution with the privileges of the agent's terminal session.
Executive ViewAI
Mistral Vibe agent deployments running versions before 2.25.4 contain a permission-gate weakness that can let content processed by the agent run arbitrary shell commands with the agent terminal session's privileges, while the allowlist gate still reports that only a benign, allowlisted command executed. The risk concentrates in teams that run Vibe agent sessions against untrusted inputs - third-party repositories, downloaded files, web content, or external tool output - and whose agents hold broad terminal credentials, where a single hijacked session could translate into unauthorized data access, credential theft, or downstream system compromise. Exploitation requires specific preconditions (agent session over attacker-controlled content plus a bash shell with promptvars enabled), and no public exploit code or confirmed active exploitation was identified at time of analysis, so leadership should treat this as a priority remediation and configuration-hardening item rather than an emergency incident.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
More in Mistral Vibe
View allArbitrary file access in Mistral Vibe, Mistral AI's agentic coding assistant, lets an attacker read (and potentially mod
Arbitrary code execution in Mistral Vibe (mistralai:mistral-vibe) lets an attacker defeat the agent's command-approval a
Arbitrary code execution in Mistral AI's Mistral Vibe agentic coding assistant lets attackers smuggle commands past the
Arbitrary code execution in Mistral Vibe lets attackers slip past the tool's command-approval allowlist by wrapping mali
Arbitrary file write in Mistral Vibe (the AI coding agent), introduced in version 1.3.4, lets an attacker create or over
Arbitrary file read in Mistral Vibe (Mistral AI's agentic coding assistant), introduced in version 2.6.0, lets attackers
Remote code execution in Mistral Vibe before 2.25.5 allows an attacker to run arbitrary shell commands with the privileg
Remote code execution in Mistral Vibe before 2.23.3 allows any attacker who can deliver a crafted repository to a victim
Permission validation bypass in Mistral Vibe versions before 2.25.5 allows an attacker who can get crafted text in front
EUVD-2026-99226
GHSA-m84r-3mrm-j4p8
NVD
CVE.org
EPSS
Exploit-DB