REDCap < 9.1.2 - Cross-Site Scripting
Most JavaScript event are blacklisted but not all. As a result we found one event that was not blacklisted and successfully used it. Stored XSS n°1 was found in project name, where an *onkeypress* event was triggered whenever the user touch any key and since the XSS payload is stored in the project name it appears in several pages. Stored XSS n°2 was found in calendar event, where an *onkeypress* event was triggered whenever the user touch any key and since the XSS payload is stored in the calendar event it appears in several pages. Stored XSS n°3 was found in CSV upload feature with displayed parsed results, where a malicious CSV is uploaded and the parsed content is inserted into a HTML table where the XSS will be triggered.