Language: JavaScript
Label: vulnerable
CWE: CWE-79 \u2014 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.

Code:
EditorUi.prototype.showTextDialog=function(d,f){d=new TextareaDialog(this,d,f,null,null,mxResources.get("close"));this.showDialog(d.container,620,460,!0,!0,null,null,null,null,!0);d.init();document.execCommand("selectall",!1,null)};EditorUi.prototype.doSaveLocalFile=function(d,f,l,u,A,B){"text/xml"!=l||/(\.drawio)$/i.test(f)||/(\.xml)$/i.test(f)||/(\.svg)$/i.test(f)||/(\.html)$/i.test(f)||(f=f+"."+(null!=B?B:"drawio"));if(window.Blob&&navigator.msSaveOrOpenBlob)d=u?this.base64ToBlob(d,l):new Blob([d],
{type:l}),navigator.msSaveOrOpenBlob(d,f);else if(mxClient.IS_IE)l=window.open("about:blank","_blank"),null==l?mxUtils.popup(d,!0):(l.document.write(d),l.document.close(),l.document.execCommand("SaveAs",!0,f),l.close());else if(mxClient.IS_IOS&&this.isOffline())navigator.standalone||null==l||"image/"!=l.substring(0,6)?this.showTextDialog(f+":",d):this.openInNewWindow(d,l,u);else{var F=document.createElement("a");B=(null==navigator.userAgent||0>navigator.userAgent.indexOf("PaleMoon/"))&&"undefined"!==
typeof F.download;if(mxClient.IS_GC&&null!=navigator.userAgent){var M=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./);B=65==(M?parseInt(M[2],10):!1)?!1:B}if(B||this.isOffline()){F.href=URL.createObjectURL(u?this.base64ToBlob(d,l):new Blob([d],{type:l}));B?F.download=f:F.setAttribute("target","_blank");document.body.appendChild(F);try{window.setTimeout(function(){URL.revokeObjectURL(F.href)},2E4),F.click(),F.parentNode.removeChild(F)}catch(O){}}else this.createEchoRequest(d,f,l,u,A).simulate(document,
"_blank")}};EditorUi.prototype.createEchoRequest=function(d,f,l,u,A,B){d="xml="+encodeURIComponent(d);return new mxXmlRequest(SAVE_URL,d+(null!=l?"&mime="+l:"")+(null!=A?"&format="+A:"")+(null!=B?"&base64="+B:"")+(null!=f?"&filename="+encodeURIComponent(f):"")+(u?"&binary=1":""))};EditorUi.prototype.base64ToBlob=function(d,f){f=f||"";d=atob(d);for(var l=d.length,u=Math.ceil(l/1024),A=Array(u),B=0;B<u;++B){for(var F=1024*B,M=Math.min(F+1024,l),O=Array(M-F),H=0;F<M;++H,++F)O[H]=d[F].charCodeAt(0);A[B]=