Improper Input Validation Affecting silverstripe/graphql package, versions >=3.2.0, <3.2.4


0.0
medium

Snyk CVSS

    Attack Complexity Low

    Threat Intelligence

    EPSS 0.08% (35th percentile)
Expand this section
NVD
5.3 medium

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk ID SNYK-PHP-SILVERSTRIPEGRAPHQL-584900
  • published 16 Jul 2020
  • disclosed 16 Jul 2020
  • credit Matthias Leutenegger, CEO, Syntro GmbH and Rob Ingram

How to fix?

Upgrade silverstripe/graphql to version 3.2.4 or higher.

Overview

silverstripe/graphql is a GraphQL server for SilverStripe models and other data.

Affected versions of this package are vulnerable to Improper Input Validation. 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 fail the permission check being added to the final result set.

GraphQL endpoints are configured by default through the CMS (e.g. for assets), but the admin/graphql endpoint is access protected by default. This limits the vulnerability to users with access to the CMS, but still applies when those authenticated users have limited permissions (e.g. where viewing records exposed through admin/graphql require administrator permissions).

Where custom GraphQL endpoints have been be configured for a specific implementation (usually under /graphql), this vulnerability could also be exploited through unauthenticated requests.

This vulnerability only applies for reading records it does not allow unauthorised changing of records.

References