PT-2024-13194 · Silverstripe · Silverstripe Cms
Eduard Briem
·
Published
2024-01-23
·
Updated
2024-01-30
·
CVE-2023-44401
CVSS v3.1
5.3
Medium
| Vector | AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N |
Name of the Vulnerable Software and Affected Versions
Silverstripe CMS versions 4.0.0 through 4.3.6
Silverstripe CMS versions 5.0.0 through 5.1.2
Description
The Silverstripe CMS GraphQL Server serves Silverstripe data as GraphQL representations. In affected versions,
canView permission checks are bypassed for ORM data in paginated GraphQL query results where the total number of records is greater than the number of records per page. This also affects GraphQL queries with a limit applied, even if the query isn’t paginated per se. The issue has been fixed by ensuring no new records are pulled in from the database after performing canView permission checks for each page of results. This behavior is consistent with how pagination works in other areas of Silverstripe CMS, such as in GridField, and is a result of having to perform permission checks in PHP rather than in the database directly.Recommendations
For Silverstripe CMS versions 4.0.0 through 4.3.6, update to version 4.3.7 to resolve the issue.
For Silverstripe CMS versions 5.0.0 through 5.1.2, update to version 5.1.3 to resolve the issue.
As a temporary workaround, consider disabling the
CanViewPermission plugin until a patch is available.Exploit
Fix
Incorrect Authorization
Found an issue in the description? Have something to add? Feel free to write us 👾
Weakness Enumeration
Related Identifiers
Affected Products
Silverstripe Cms