silverstripe/framework's `Member.Name` is not escaped
Date: 2024-05
Affected: composer/silverstripe/framework, composer/silverstripe/framework, composer/silverstripe/framework
Attack vector: xss
Category: vulnerability-disclosure
Severity: Medium
CWE: CWE-79
CVSS: 5.4 (CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N)

The core template `framework/templates/Includes/GridField_print.ss` uses "Printed by $Member.Name". If the currently logged in members first name or surname contain XSS, this prints the raw HTML out, because Member->getName() just returns the raw FirstName + Surname as a string, which is injected directly.


Mitigations:

Architectural layers (MAESTRO):