CVE-2026-114606

Source
https://cve.org/CVERecord?id=CVE-2026-114606
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-114606.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-114606
Aliases
  • GHSA-fjgc-8xgj-rvh4
Published
2026-10-22T16:35:34Z
Modified
2026-10-23T02:45:45Z
Severity
  • 5.6 (Medium) CVSS_V4 - CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:A/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N CVSS Calculator
Summary
draw.io Desktop: Arbitrary local-file read via read-side IPC (no blessed-path gate)
Details

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.

Database specific
{
    "cna_assigner":  "GitHub_M",
    "cwe_ids":  [
        "CWE-200",
        "CWE-22"
    ],
    "osv_generated_from":  "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/114xxx/CVE-2026-114606.json"
}
References

Affected packages

Git / github.com/jgraph/drawio-desktop

Affected ranges

Type
GIT
Repo
https://github.com/jgraph/drawio-desktop
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed
Fixed
Database specific
Show details
{
    "extracted_events":  [
        {
            "range":  [
                {
                    "introduced":  "0"
                },
                {
                    "fixed":  "31.4.4"
                }
            ],
            "source":  "AFFECTED_FIELD",
            "strategy":  "StringRangeExpression"
        },
        {
            "range":  [
                {
                    "fixed":  "9c933514b8bcc90a91d88c685525a8885de4027e"
                }
            ],
            "source":  "REFERENCES_COMMIT"
        },
        {
            "original_tag":  "v31.4.4",
            "range":  [
                {
                    "fixed":  "7bc3d0903103dc9c2115401736447676aa4a2ac3"
                }
            ],
            "source":  "REFERENCES_TAG"
        }
    ]
}

Affected versions

20.*
20.2.3
Other
test1
test2
test3
test4
test5
test6
v0.*
v0.0.1
v10.*
v10.6.5
v10.7.7
v10.8.0
v10.9.5
v11.*
v11.1.1
v11.1.4
v11.2.4
v11.2.5
v11.3.0
v12.*
v12.1.0
v12.1.4
v12.1.7
v12.2.2
v12.3.2
v12.4.0
v12.4.1
v12.4.2
v12.5.3
v12.6.5
v12.9.13
v12.9.2
v12.9.3
v12.9.9
v13.*
v13.0.0
v13.0.1
v13.0.2
v13.0.3
v13.10.0
v13.10.0.1
v13.10.0.2
v13.2.1
v13.2.2
v13.2.4
v13.2.5
v13.3.1
v13.3.5
v13.3.9
v13.4.4
v13.4.5
v13.5.1
v13.5.7
v13.6.2
v13.7.2
v13.7.3
v13.7.8
v13.7.9
v13.9.20
v13.9.5
v13.9.8
v13.9.9
v14.*
v14.1.3
v14.1.4
v14.1.5
v14.1.8
v14.4.0
v14.4.2
v14.4.3
v14.5.1
v14.6.11
v14.6.13
v14.9.6
v15.*
v15.1.1
v15.1.2
v15.1.3
v15.2.5
v15.2.6
v15.2.7
v15.3.5
v15.3.7
v15.4.0
v15.7.1
v15.7.3
v15.8.4
v15.8.7
v16.*
v16.0.0
v16.0.2
v16.1.2
v16.3.0
v16.4.11
v16.5.1
v17.*
v17.1.5
v17.2.4
v17.4.2
v17.5.0
v18.*
v18.0.0
v18.0.1
v18.0.4
v18.0.6
v18.1.3
v19.*
v19.0.0
v19.0.2
v19.0.3
v20.*
v20.2.3
v20.2.6
v29.*
v29.6.6
v30.*
v30.3.13
v30.3.14
v30.3.6
v31.*
v31.1.5
v31.3.1
v6.*
v6.2.10
v6.2.9
v6.3.0
v6.3.1
v6.4.3
v7.*
v7.0.4
v7.0.5
v7.0.8
v7.1.0
v7.1.2
v7.1.3
v7.1.6
v7.1.9
v7.2.1
v7.2.3
v7.3.5
v7.4.3
v7.5.5
v7.6.6
v7.7.2
v7.7.3
v7.8.4
v7.8.7
v7.9.5
v8.*
v8.0.6
v8.4.7
v8.6.4
v8.6.5
v8.7.1
v8.8.0
v9.*
v9.3.1

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-114606.json"