Skip to main content
← All vulnerabilities
CVE-2026-114606EUVD-2026-108231GHSA-FJGC-8XGJ-RVH4

draw.io Desktop: Arbitrary local-file read via read-side IPC (no blessed-path gate)

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 31.4.4
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: no
  • Technical impact: partial

Summary

draw.io Desktop, the official Electron build of the draw.io diagramming app, is affected. Any content running within the app's own origin can read arbitrary files on the user's computer, including files the app is prevented from writing to, which could expose sensitive local data.

Summarized by anthropic/claude-haiku-5.5. Verify details against the original sources.

Read the original description

draw.io Desktop is the official Electron build of draw.io. Prior to 31.4.4, draw.io Desktop is vulnerable to arbitrary local-file disclosure through the Electron main process's read-side IPC handlers. The readFile, getFileDrafts, getBkpFile, fileStat, isFileWritable, checkFileExists, and watchFile actions operate on a renderer-chosen filesystem path with no blessed-path (assertWritablePath) authorization. The only gates are validateSender — a URL-prefix origin check — plus, for readFile alone, a content "sniff" and a lexical appBaseDir prefix block. The write-side handlers (saveFile, writeFile, saveDraft, deleteFile) are all protected by assertWritablePath; the read side is not. The result is a read/write authorization asymmetry: any frame executing in the app's file:// origin can read the contents of local files that the same origin is explicitly forbidden to write. This issue is fixed in version 31.4.4.

Timeline

  1. CVE published
  2. First seen by cve.now
  3. CISA SSVC assessment

    Exploitation: poc · Automatable: no · Technical impact: partial

  4. Record last updated

Affected versions

  • jgraph drawio-desktop

    fixed in 31.4.4

References 3

GitHub · jgraph/drawio-desktop