Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft archive with legitimate .drawio and malicious powershell.bat/attrib.exe
-
DeliveryDeliver archive to victim
-
ExploitVictim extracts and cold-opens .drawio, making folder the CWD
-
Executiondraw.io resolves attacker binary from working directory ahead of System32
-
ImpactArbitrary code execution in victim's user context
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V13 - Configuration Search path verification
|
| Exploitation Conditions | Windows only. draw.io Desktop must NOT already be running so that cold-opening a diagram from File Explorer makes the diagram's folder the current working directory. The victim must extract an attacker-supplied archive and open the legitimate .drawio file from that attacker-controlled directory (required user interaction). The powershell.exe hijack path triggers only when the Local Fonts feature is enabled; the attrib.exe hijack path triggers when draft or backup file attributes are updated (e.g. on automatic save). Limiting factors: local vector only (no network reach), dependence on victim extracting and opening the file while the app is closed, and the Local-Fonts/draft-backup conditions. Affected versions <=31.4.5; fixed in 31.5.2, which invokes system binaries by absolute System32 path and sets NoDefaultCurrentDirectoryInExePath. |
| Impact | CVSS base score is 7.8 (High) with vector AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H, reflecting a local, user-interaction-dependent attack that yields full confidentiality, integrity and availability impact via arbitrary code execution in the user's context. This is a genuine code-execution flaw (CWE-426, untrusted search path), not merely an information-disclosure issue as one input tag suggests. The vendor priority label is 'this_week', consistent with a serious but not emergency-grade issue. No CISA KEV listing is present in the input, so there is no confirmed active exploitation; no EPSS score was supplied, so statistical exploitation probability cannot be weighed. A detailed step-by-step PoC is published in the GHSA advisory, but the input does not mark it as verified working exploit code, so treat it as a public PoC reference rather than a confirmed weaponized exploit. The real-world risk is tempered by the local attack vector and the requirement that the victim extract an attacker-supplied archive and cold-open a legitimate .drawio file while draw.io Desktop is not already running (so Explorer sets the diagram folder as the working directory) - a realistic social-engineering/supply-of-archive scenario but one that depends on victim action and timing rather than remote network reachability. Net: a credible this-week priority for Windows draw.io Desktop users, especially where archives from untrusted sources are opened, but not an internet-facing mass-exploitation threat. |
| Exploit ScenarioDerived | An attacker builds a ZIP archive containing a legitimate .drawio diagram alongside a malicious powershell.bat or attrib.exe and delivers it to a victim (e.g. by email or download). The victim extracts the archive and double-clicks the .drawio file from the extracted folder while draw.io Desktop is closed, so that folder becomes the process working directory; draw.io then resolves the attacker's colocated binary ahead of the genuine Windows system executable (when Local Fonts are enabled, or when draft/backup file attributes are set), executing attacker code in the victim's context. A detailed PoC exists in the GHSA advisory, though it is not marked as verified working exploit code. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 30, 2026
Arbitrary code execution on Windows in draw.io Desktop 31.4.5 and earlier stems from the Electron shell launching powershell and attrib by bare executable name, letting Windows resolve a same-named file from the diagram's own folder instead of System32. Exploitation requires the victim to extract an attacker-supplied archive and cold-open its legitimate .drawio file from that directory (the app must not already be running), with the powershell path firing when Local Fonts are enabled and the attrib path firing when draft or backup attributes are updated. The advisory publishes manual reproduction steps, so a public PoC reference exists; it is not verified as working exploit code, and there is no KEV entry or active-exploitation signal. Version 31.5.2 fixes the issue by invoking system binaries via absolute System32 paths, switching to execFile, and setting NoDefaultCurrentDirectoryInExePath; CVSS is 7.8 (AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H).
RemediationAI
Upgrade to draw.io Desktop 31.5.2 or later - the vendor-released patch for this issue. The fix commit (https://github.com/jgraph/drawio-desktop/commit/3fed7ecfa6871d952d9946508ec85739796a59b2) resolves every Windows system binary through the new getSystem32Path helper in src/main/system-path.js, replaces the powershell exec string with execFile against the absolute PowerShell path, and sets NoDefaultCurrentDirectoryInExePath=1 at application startup so libuv and cmd.exe do not search the working directory for the remaining dependency-launched programs. The advisory and release notes (https://github.com/jgraph/drawio-desktop/releases/tag/v31.5.2) document no supported workaround other than updating; the residual exposure while unpatched is confined to Windows and to the scenario described in the report, so until the upgrade can be deployed, treat cold-opening .drawio files from directories created by extracting untrusted archives as the risk-bearing action. Note that disabling the Local Fonts feature only removes the powershell hijack path - the attrib.exe path is still reachable whenever draft or backup attributes are written - so feature-level mitigation is incomplete and should not be treated as a substitute for the 31.5.2 upgrade.
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 CWE-426 (Untrusted Search Path) in the main Electron process of draw.io Desktop on Windows. src/main/electron.js used child_process.spawn('attrib', ...) in saveDraft and saveFile to set hidden attributes on draft and backup files, and built a powershell -NoProfile -command string passed to exec inside getLocalFonts() to enumerate System.Drawing.Text.InstalledFontCollection families. Because no absolute path is supplied, Windows performs executable resolution at launch time, searching the current working directory ahead of the system locations; when a diagram is cold-opened from File Explorer while the app is not running, the diagram's folder becomes the working directory, so a colocated powershell.bat or attrib.exe can win the race against the intended system binary. The upstream fix commit introduces src/main/system-path.js with a getSystem32Path helper (with unit tests wired into npm test), rewrites both attrib call sites to getSystem32Path('attrib.exe'), replaces the powershell exec string with execFile(getSystem32Path('WindowsPowerShell\\v1.0\\powershell.exe'), ['-NoProfile','-command', ...]), and sets process.env.NoDefaultCurrentDirectoryInExePath = '1' at startup so that cmd.exe and libuv skip the working directory for dependencies that still start programs by bare name (electron-updater's signature check runs chcp and powershell.exe through cmd.exe). The trigger conditions are confirmed for the Local Fonts path and the draft/backup attribute-update path; Windows is the only affected deployment mode described, and the Linux fc-list branch uses a fixed binary name.
Know when Windows 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
AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Local execution via opening a colocated file (AV:L, UI:R); no privileges needed (PR:N); the attrib path triggers on routine save with low complexity (AC:L); code execution gives C/I/A High.
Primary rating from Vendor (github).
CVSS VectorVendor: github
Lifecycle Timeline
2DescriptionCVE.org
draw.io Desktop is the official Electron build of draw.io. Prior to 31.5.2, the Windows application launched powershell and attrib by bare executable name from src/main/electron.js. When draw.io Desktop was not already running, opening a diagram from File Explorer made the diagram directory the current working directory, allowing a colocated attacker-controlled powershell.bat or attrib.exe to be resolved before the intended system executable. A victim who extracted an attacker-supplied archive and cold-opened its legitimate .drawio file could therefore execute attacker-controlled code when Local Fonts were enabled or when draft or backup attributes were updated. This issue is fixed in version 31.5.2.
Articles & Coverage 1
Technical POC Analysis
CWE-426, untrusted search path, in the Electron main process of draw.io Desktop, file src/main/electron.js.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
CVE-2026-119333 is a high-severity vulnerability in draw.io Desktop 31.4.5 and earlier that allows attackers to execute arbitrary code on Windows systems. Since draw.io is commonly used for diagramming and may be installed on many employee workstations, successful exploitation could lead to unauthorized access to sensitive data, system compromise, and potential lateral movement within the network. Leadership should prioritize remediation because the vulnerability is easy to exploit (requiring only user interaction) and has a high impact on confidentiality and integrity, affecting the entire organization if left unpatched.
Vendor-released patch: 31.5.2
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
Unauthenticated remote code execution in SmarterTools SmarterMail lets an attacker upload arbitrary files to any locatio
Windows Win32k fails to properly handle objects in memory, allowing local privilege escalation exploited in the wild in
A privilege escalation vulnerability (CVSS 5.5). Risk factors: actively exploited (KEV-listed), EPSS 94% exploitation pr
Windows Internet Shortcut Files (.url) contain an external control vulnerability (CVE-2025-33053, CVSS 8.8) that enables
Windows SMB contains an improper access control vulnerability (CVE-2025-33073, CVSS 8.8) enabling authenticated attacker
An unrestricted file upload vulnerability exists in MiniWeb HTTP Server <= Build 300 that allows unauthenticated remote
FreeFloat FTP Server contains multiple critical design flaws that allow unauthenticated remote attackers to upload arbit
Serviio Media Server versions 1.4 through 1.8 on Windows contain an unauthenticated command injection in the /rest/actio
Mako Server versions 2.5 and 2.6 contain an unauthenticated OS command injection via the tutorial interface at examples/
React Native Metro Development Server binds to external interfaces by default and contains an OS command injection endpo
Command injection in the Windows Shell lets remote, unauthenticated attackers bypass a Windows security feature and then
External control of file name or path in Windows NTLM allows an unauthorized attacker to perform spoofing over a network
EUVD-2026-114398
NVD
CVE.org
EPSS
GitHub
Exploit-DB