Alfresco 5.2.4 – Persistent Cross-Site Scripting
Each file has a set of properties than can be edited by any authenticated user that have write access on the project or the file. The URL property of the file provided by the user is injected in the href attribute of the HTML link without a proper escaping. On the document explorer, the value is injected in a span tag. But on the detailed view of the file, it's inserted in the href attribute of a a tag. http:// is prefixed before the payload provided by the user but can be bypassed. The generated vulnerable link will look like that: <a target="_blank" href="http://" onmouseover="alert(document.cookie)" rel="noopener">http://" onmouseover="alert(document.cookie)">. It requires write privileges to store it, any user with read access can see it. There is no file restriction for photo uploading in the user profile page. Then the profile picture can be seen in the browser. The payload is injected in the src attribute of an img tag. It requires write privileges to store it, any user with read access can see it. The document preview feature is vulnerable to XSS. The payload is injected in the src attribute of an iframe tag. http:// is prefixed before the payload provided by the user but can be bypassed. The generated vulnerable link will look like that: <iframe src="http://" onmouseover="alert(document.cookie)" "=" ">. It requires write privileges to store it, any user with read access can see it.