Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft .pbip project at space-free path containing '&'
-
DeliveryLure victim into opening project in pbi-cli
-
Exploitdesktop_sync passes unquoted path to cmd /c start
-
ExecutionShell parses '&' and executes injected command
-
ImpactArbitrary commands run with victim privileges
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization OS command sanitization, avoid shell exec
MITRE ATT&CK
2 techniques across 1 tactic: Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires the victim to be running pbi-cli version 3.10.1 through 3.12.0 and to open, write, or reload a Power BI .pbip project that is located at a filesystem path which (a) contains no spaces and (b) contains an '&' character, so that desktop_sync.py's unquoted argument to 'cmd /c start' is reinterpreted by the Windows shell as a command separator. The attacker cannot execute remotely or without help: they must first place the malicious project at an attacker-controlled path and socially engineer the victim into opening it (UI:P). Limiting factors: local attack vector only (Windows 'cmd' implies a Windows host), mandatory user interaction, dependence on a non-default crafted path, and the fact that paths containing spaces defeat the specific injection - all of which constrain this to targeted scenarios rather than broad exploitation. |
| Impact | The input provides a CVSS 4.0 vector (CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N) scoring 7.3 (High), which is internally consistent with the description: the attack is LOCAL (AV:L), needs no attacker privileges (PR:N), but hinges on passive user interaction (UI:P - the victim opening a project) plus a specific attack requirement (AT:P - a crafted, space-free path containing '&'). Impact is high across confidentiality, integrity, and availability because arbitrary commands run with the victim's privileges. No EPSS score is provided, there is no CISA KEV listing, and no POC=YES flag is present in the input, so exploitation status is 'no public exploit identified at time of analysis' - although a detailed hackmd write-up and direct source-line references exist, which lowers the barrier to weaponization. Weighing these signals together, this is a genuine but NOT top-tier priority: the LOCAL vector, required user interaction, and specific non-default path condition make mass/automated exploitation implausible, pointing instead toward targeted social-engineering against developers using this specific niche CLI. The absence of EPSS/KEV data is a gap (not an error), so real-world exploitation probability cannot be quantified from the provided data. |
| Exploit ScenarioDerived | An attacker crafts or renames a Power BI (.pbip) project so it resides at a space-free filesystem path containing an '&' character (e.g. delivered via a shared repo, zip, or network share) and lures a pbi-cli user into opening it. When the victim reopens, writes, or reloads the report, desktop_sync.py passes the unquoted path to 'cmd /c start', and the shell interprets the '&' as a command separator, executing attacker-chosen commands with the victim's privileges. No public exploit is identified in the input, but a step-by-step hackmd analysis and the exact vulnerable source lines are publicly referenced, materially easing exploit development. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 11, 2026
OS command injection in pbi-cli 3.10.1 through 3.12.0 allows a local attacker to execute arbitrary commands with victim privileges when the victim opens a crafted Power BI .pbip project from a space-free filesystem path containing an '&' character. The flaw resides in desktop_sync.py, which passes unquoted paths to 'cmd /c start' during report write or reload, and exploitation requires user interaction (UI:P) with the crafted path. No public exploit code or active exploitation (CISA KEV) has been identified at time of analysis; CVSS 4.0 score is 7.3 (High), and an independent CVSS 3.1 assessment yields 7.8 (High).
RemediationAI
No vendor-released patch identified at time of analysis. Users should monitor the pbi-cli GitHub repository (https://github.com/MinaSaad1/pbi-cli) and the VulnCheck advisory (https://www.vulncheck.com/advisories/pbi-cli-3.10.1-through-3.12.0-os-command-injection-via-desktop-sync) for an update. As a compensating control, ensure that all Power BI .pbip projects are opened from paths that contain at least one space and avoid '&' characters in the path, as the injection specifically requires a space-free path with '&'; this mitigation is fragile and can be bypassed if the underlying quoting issue remains. Additional controls: avoid opening .pbip projects from untrusted or attacker-writable locations, and run pbi-cli with minimal privileges to limit the impact of command execution. A more robust, albeit unofficial, workaround is to manually edit desktop_sync.py to wrap the path variable in double quotes before passing it to cmd /c start, but this requires code modification and has not been validated by the vendor. Until a patch is available, consider restricting use of the desktop synchronization feature or sandboxing pbi-cli execution.
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 vulnerability is an OS command injection (CWE-78) in pbi-cli, a Python-based command-line interface for Power BI. In desktop_sync.py lines 286-291 and 398-405, the application builds a Windows shell command using 'cmd /c start' with an unquoted .pbip project path when reopening or reloading a Power BI project. On Windows, cmd.exe treats '&' as a command separator, so if the project path contains an '&' and no spaces, the shell interprets the portion after '&' as an additional command, executing it with the privileges of the victim running pbi-cli. The attack is local (AV:L) because the attacker must place the malicious project at a specific filesystem path, and it requires passive user interaction (UI:P) for the victim to open or write to that project. The CVSS 4.0 vector (AV:L/AC:L/AT:P/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N) reflects that a specific attack requirement (AT:P) - a space-free path containing '&' - must be met, and user interaction is needed. The CPE cpe:2.3:a:minasaad1:pbi-cli:*:*:*:*:*:*:*:* identifies the affected product as pbi-cli by MinaSaad1.
Know when Pbi Cli 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:L/AC:L/AT:P/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Exploitation is local via a victim-opened malicious project (AV:L, UI:R) needing no attacker privileges (PR:N); crafting the '&' path is straightforward (AC:L), and injected commands yield full C/I/A impact in the victim's context (S:U).
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
pbi-cli 3.10.1 through 3.12.0 contains an OS command injection vulnerability in desktop_sync.py that passes unquoted .pbip paths to cmd /c start when reopening projects. Attackers can lure victims into opening a Power BI project from a space-free path containing & to run commands with victim privileges during report write or reload.
Executive ViewAI
pbi-cli 3.10.1 through 3.12.0 carries an unpatched high-severity command-execution risk that could allow a local adversary to operate with the rights of an affected Power BI user who opens a malicious project. Because exploitation requires user interaction and a specific filesystem path, the immediate concern is targeted workstation compromise and downstream access to data or credentials available to that user. Leadership should treat this as an urgent endpoint and developer-tooling exposure until a vendor fix is available, with no public exploit identified at time of analysis.
No vendor-released patch identified at time of analysis. Interim mitigations include avoiding untrusted .pbip projects, ensuring pbi-cli project paths do not contain '&', running pbi-cli with least privilege, restricting or removing pbi-cli 3.10.1-3.12.0 where possible, isolating affected installations, monitoring for 'cmd /c start' abuse, and applying application control and EDR detections.
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
OS command injection occurs when an application passes unsanitized user input directly into system shell commands.
EUVD-2026-96909
GHSA-jvcc-r2cm-664x
NVD
CVE.org
EPSS
Exploit-DB