CVE-2026-115762 in draw.ioinfo

Summary

by MITRE • 11/04/2026

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.

Once again VulDB remains the best source for vulnerability data.

Analysis

by VulDB Data Team • 11/04/2026

The vulnerability identified in draw.io prior to version 31.1.5 represents a critical client-side prototype pollution flaw within its GraphML decoder, which serves as the parsing engine for XML-based diagram files. Prototype pollution is a well-documented class of vulnerabilities where an attacker manipulates JavaScript object prototypes by injecting properties into them. In this specific context, the vulnerability arises because the GraphML parser fails to properly sanitize or validate reference keys before assigning attributes to objects. When a user imports a maliciously crafted GraphML file, the decoder processes these untrusted inputs and allows attacker-controlled data to overwrite inherited properties on core JavaScript prototype objects such as Object.prototype. This mechanism effectively alters the behavior of all subsequent object instantiations within the application's runtime environment because new objects inherit from polluted prototypes that now contain malicious attributes or methods defined by the attacker.

The operational impact of this vulnerability is significant due to its potential integration into a cross-site scripting attack chain, particularly when draw.io operates in Trello mode. The exploitation scenario does not require an existing connection to Trello; rather, it relies on the user opening the editor in Trello mode and subsequently invoking the Trello integration features after importing the malicious file. Once this sequence is triggered, the polluted prototype state allows the attacker-controlled code to execute within the security context of the draw.io origin. This results in a successful cross-site scripting event where arbitrary JavaScript can run with full privileges associated with the application domain. Such execution enables attackers to perform actions on behalf of the victim, including stealing session cookies, capturing sensitive diagram data, or redirecting users to phishing sites, thereby compromising both confidentiality and integrity within the web application environment.

From a classification perspective, this vulnerability aligns closely with CWE-1325, which covers susceptible versions of prototype pollution, and specifically relates to improper input validation leading to object manipulation. In terms of offensive security frameworks like MITRE ATT&CK for Enterprise or Mobile, this technique falls under the category of Client-Side Prototype Pollution, often utilized as a precursor to code execution via stored or reflected cross-site scripting vectors. The attack vector is primarily classified as user interaction-based since it requires the victim to import a specific file and interact with integrated features, placing it within the Initial Access or Execution tactics depending on the final payload delivered by the script injection.

Mitigation for this vulnerability involves upgrading draw.io to version 31.1.5 or later, where the GraphML decoder has been patched to prevent unauthorized property assignment onto prototype objects. Developers and administrators should ensure that all instances of the application are updated promptly to eliminate the risk of exploitation. For organizations relying on embedded versions of draw.io within other platforms like Trello, it is crucial to verify that the underlying library version meets the security requirements specified in the vendor advisory. Additionally, implementing strict Content Security Policy headers can help mitigate the impact of any potential script execution by restricting the sources from which scripts are allowed to load and execute, although upgrading remains the primary and most effective remediation strategy for this specific prototype pollution flaw.

Responsible

GitHub M

Reservation

10/23/2026

Disclosure

11/04/2026

Moderation

accepted

EPSS

0.00000

KEV

no

Activities

low

Sources

Interested in the pricing of exploits?

See the underground prices here!