Details
-
Bug
-
Resolution: Fixed
-
None
-
Critical
-
ENHANCEMENT: Added general protection against CrossSiteScripting/XSS attacks
-
Empty show more show less
Description
This morning I stumbled upon the keywords XSS and CSRF. Since my knowledge about these topics fade away in the last years, I was encouraged to refresh it and test it in Translate5.
Translate 5 is currently XSS vulnerable!
A simple test shows:
- A Manager can provide HTML on editing user data.
- On saving a segment HTML can be provided by faking the PUT request. By using the editor itself it is not possible.
- As manager on creating a task. The task creation throws an error, but the task is saved with the HTML in the possible form fields.
Since in our application we fetch all data by ajax the possible internally stored script tags are not evaluated directly. But this can happen if one embeds the DB content directly somewhere as HTML (like in the notify mails)!
Another point would be to embed the js as handler in other tags.
Since the same content is used in generated E-Mails, the mails could contain malicious HTML too.
Solution: Remove all tags, since not allowed. Only in PutSegment we have to parse the content, since HTML is partially allowed here.
Possible Attacks:
- Faked PUT segment request, you have to adopt the segment id in the URL and at the end of the payload to reuse the code in the first comment in JS console:
Attachments
Issue Links
- causes
-
TRANSLATE-3960 Test PXSS in all input fields of the application
- Done