Impact
Mermaid Architecture Diagrams allow defining a group with the identifier __proto__. Because this value is used unvalidated as a property key, an attacker who can supply diagram text can inject properties into Object.prototype. The resulting prototype pollution can modify the logic of the embedding JavaScript application, potentially leading to unexpected behaviour or serving as a foothold for more complex attacks. While the vulnerability is not a direct code‑execution flaw, it can impact confidentiality, integrity, or availability of the application depending on how the polluted properties are accessed.
Affected Systems
Affected software is mermaid-js:mermaid, from version 11.5.0 through 11.16.1 inclusive. Users that employ the Architecture diagram rendering feature in any of those releases are vulnerable. Versions released after 11.16.1 incorporate the fix and are not affected.
Risk and Exploitability
The CVSS score of 6.5 indicates moderate severity. EPSS data is unavailable and the flaw is not listed in CISA’s KEV catalog, suggesting no public exploits yet. The likely attack vector is the supply of diagram text through a web-based editor, a public graph import, or any interface that accepts user‑supplied diagram syntax. Because the vulnerability depends on the host application’s use of Object.prototype, exploitation likelihood varies with the complexity of the application’s JavaScript logic.
OpenCVE Enrichment
Github GHSA