draw.io: XSS via crafted cell label when opening a .drawio file
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| jgraph | drawio | affected |
|
No data.
| Vendor | Product | Versions | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Jgraph | Drawio |
|
No CVSS v4.0
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.221% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Diagrams
Diagrams drawio |
|
| CPEs | cpe:2.3:a:diagrams:drawio:*:*:*:*:*:*:*:* | |
| Vendors & Products |
Diagrams
Diagrams drawio |
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Jgraph
Jgraph drawio |
|
| Vendors & Products |
Jgraph
Jgraph drawio |
| Type | Values Removed | Values Added |
|---|---|---|
| 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. | |
| Title | draw.io: XSS via crafted cell label when opening a .drawio file | |
| Weaknesses | CWE-79 | |
| References |
| |
| Metrics |
cvssV3_1
|