Verse webmail currently uses scripts and styles in the form of inline scripts, and sometimes dynamic evaluations of strings to executable code.
To protect Verse against Cross-Site-Scripting (XSS) using Conent-Security-Policy (CSP), the keywords
'unsafe-eval' have to be used at the moment. Unfortunately, these keywords make CSP protection significantly less effective.
There are several ways to improve security in Verse:
Reduce the number of inline scripts in DOM objects (or avoid them), and prefer loading scripts from a URI
Reduce the number of inline style sheets in DOM objects, and prefer loading them from a URI
Add CSP nonce values to script meta tags
Redesign the Verse code, so that scripts are loaded in an "inheritable" way, which will allow using the CSP keyword
'strict-dynamic'. This will reduce the cost for maintaining a CSP Policy over the course of upgrades to new Verse releases.
Have the Verse application automatically add a secure CSP Policy. Provide configurable options to automatically integrate with other HCL products, such as HCL Connections, HCL Sametime, etc.
Provide configurable CSP reporting options
Remove legacy iNotes components (such as Personal Contacts) to simplify the security architecture
[ Toni Feric, Belsoft Collaboration ]