CVE-2026-115762: draw.io: Prototype pollution in GraphML (mxGraphMlCodec)
draw.io is a configurable diagramming and whiteboarding application. Prior to 31.1.5, the GraphML decoder contains a prototype-pollution vulnerability. Attacker-controlled GraphML reference keys can address inherited object properties, including prototype objects, and the decoder can then assign attacker-controlled attributes to those objects. Importing a malicious GraphML file can trigger client-side prototype pollution. In the advisory-supported cross-site scripting chain, the editor is opened in Trello mode and the user invokes the Trello integration after the import, allowing the polluted state to execute script in the draw.io origin; an existing Trello connection is not required. This vulnerability is fixed in 31.1.5.
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
draw.ioto a version that resolves this vulnerability.Fixed in 31.1.5
Event History
Frequently Asked Questions
Who is exposed to this issue?
Users of draw.io versions before 31.1.5 are exposed when they import attacker-controlled GraphML files. Exploitation requires user interaction to import the file, and the documented script-execution chain additionally requires opening the editor in Trello mode and invoking the Trello integration.
Does exploiting the documented cross-site scripting chain require a connected Trello account?
No. The documented Trello-mode chain does not require an existing Trello connection.
What should be done if a patch cannot be applied immediately?
Do not import GraphML files from untrusted sources, particularly where users may open draw.io in Trello mode and invoke the Trello integration after import. Upgrade to version 31.1.5 when possible.