Proof of concept
To demonstrate this issue, the following XSS payload can be used when creating an entry that utilises the Silverstripe Form Message.

After creating the entry, the payload will not execute due to sanitisation being applied. However, when the entry is deleted, a deletion notification appears that does not undergo sanitisation, which results in the execution of the XSS payload.

Potential impact
A threat actor who has gained access to a low-privilege user account on the CMS could craft an XSS payload to escalate their privileges or exfiltrate sensitive data. This could occur when an administrator deletes an entry containing the malicious payload, causing it to execute within the context of the administrator’s browser session and permissions.
How to fix it
Upgrade to Silverstripe 5.3.8 or greater. Silverstripe has released the patch for all versions affected. More details could be found here.
Vulnerability Disclosure Timeline
- 26/11/2024 - Issue reported to Silverstripe
- 15/01/2025 - Patch released and CVE assigned (CVE-2024-53277)
- 22/01/2025 - Publicly Disclosed