User interface escapes html entities in textbox text and only ever adds <div> and <br> tags afacit.
Browser tools or scripts can send malicious content operating a websocket directly. Such content sneaks through escapeAllContentStrings() as it is base64 encoded. Example exploit in typescript:
We work around this by running DOMPurify over the setTextboxText payload as in the attached patch file. github wouldn't let me attach it without compressing it - apologies.
User interface escapes html entities in textbox text and only ever adds
<div>
and<br>
tags afacit.Browser tools or scripts can send malicious content operating a websocket directly. Such content sneaks through
escapeAllContentStrings()
as it is base64 encoded. Example exploit in typescript:We work around this by running DOMPurify over the
setTextboxText
payload as in the attached patch file. github wouldn't let me attach it without compressing it - apologies.0001-Run-DOMPurify-over-textbox-content.patch.gz