What’s Vulnerable › Vulnerabilities
CVE-2026-46642: draw.io: XSS via crafted cell label when opening a .drawio file
- Severity: medium (CVSS 6.1 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.2% probability of exploitation in the next 30 days
- Public exploit or detection template: yes
- Published: 2026-06-10 · updated 2026-10-26
- Weakness: CWE-79
Description
draw.io is a configurable diagramming and whiteboarding application. Prior to version 29.7.12, a crafted .drawio file can execute arbitrary JavaScript in the editor's origin when the file is opened. The vulnerability is not in the label sanitizer (which works correctly on the rendering path) but in a feature-detection routine in the Text Format panel that reads the raw cell label and assigns it to a detached element's innerHTML without sanitization. Browsers fire onerror for failed image loads even on detached elements, so an <img src=x onerror=...> payload in any cell label triggers script execution as soon as the cell is selected — which import does automatically. This issue has been patched in version 29.7.12.
Affected products
- jgraph/drawio: before 29.7.12 — fixed in 29.7.12
How to fix
Upgrade to a fixed version: jgraph/drawio 29.7.12. Check the vendor advisory for mitigations.
References
- https://github.com/jgraph/drawio/releases/tag/v29.7.12
- https://github.com/jgraph/drawio/security/advisories/GHSA-fqhg-287p-c6vf
- https://github.com/jgraph/drawio/security/advisories/GHSA-fqhg-287p-c6vf
Get alerted when CVE-2026-46642 or the next vulnerability affects your stack