CVE-2020-6165: Silverstripe has Incorrect Default Permissions
5.3
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.37569%
CWE
Published
5/24/2022
Updated
2/7/2024
KEV Status
No
Technology
PHP
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
| Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
|---|---|---|---|
| silverstripe/recipe-cms | composer | >= 4.5.0, < 4.5.3 | 4.5.3 |
| silverstripe/graphql | composer | >= 3.2.0, < 3.2.4 | 3.2.4 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stems from improper ordering of permission checks relative to query limitations. The changelogs explicitly mention moving 'query resolution after the DataListQuery has been altered' and ensuring 'canView() check is run on items.' This indicates that DataListQuery::resolve() executed permission checks on the full dataset before applying pagination/limits, leaving residual unauthorized records in the truncated result. The CanViewPermissionChecker::checkItem() method was likely invoked at the wrong stage in this flow. The patch corrected this by reordering the steps to apply permissions after query constraints.