CVE-2020-6165 Silverstripe has Incorrect Default Permissions
Authenticated users can read unauthorized records via GraphQL endpoints due to flawed permission checks in SilverStripe CMS.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2020-6165?
CVE-2020-6165 is a medium-severity missing authorization vulnerability in Silverstripe Silverstripe, published on 15 Jul 2020. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
SilverStripe 4.5.0 allows attackers to read certain records that should not have been placed into a result set. This affects silverstripe/recipe-cms. The automatic permission-checking mechanism in the silverstripe/graphql module does not provide complete protection against lists that are limited (e.g., through pagination), resulting in records that should have failed a permission check being added to the final result set. GraphQL endpoints are configured by default (e.g., for assets), but the admin/graphql endpoint is access protected by default. This limits the vulnerability to all authenticated users, including those with limited permissions (e.g., where viewing records exposed through admin/graphql requires administrator permissions). However, if custom GraphQL endpoints have been configured for a specific implementation (usually under /graphql), this vulnerability could also be exploited through unauthenticated requests. This vulnerability only applies to reading records; it does not allow unauthorised changing of records.
Weakness: CWE-276
Which versions are affected by CVE-2020-6165?
5 open source packages ship an affected version, including silverstripe/graphql, silverstripe and silverstripe/recipe-cms. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
silverstripe/graphql Packagist | From 3.2.0 | 3.2.4 |
silverstripe/graphql Packagist | From 3.2.0 | 3.2.4 |
silverstripe Bitnami | From 3.2.0 | 3.2.4, 3.3.0, 4.5.3 |
silverstripe/recipe-cms Packagist | From 4.5.0 | 4.5.3 |
silverstripe/recipe-cms Packagist | From 4.5.0 | 4.5.3 |
Products include Silverstripe Silverstripe.
How do I fix CVE-2020-6165?
Upgrade silverstripe/graphql to 3.2.4 or later.
Upgrade, and check permissions on every request on the server, not only in the interface. More about Missing authorization.
Is CVE-2020-6165 being exploited?
There is no known exploitation of CVE-2020-6165 in the wild and no public exploit code.
Other vulnerabilities in Silverstripe Silverstripe
Sources
Also known as BIT-silverstripe-2020-6165, GHSA-589q-75r3-mfq4.