Lucene search

K
githubGitHub Advisory DatabaseGHSA-GGGM-66RH-PP98
HistoryJul 25, 2023 - 11:31 p.m.

Incorrect Permission Checking for GraphQL Subscriptions

2023-07-2523:31:10
CWE-200
CWE-863
GitHub Advisory Database
github.com
15
cwe-200
graphql
permissions
unauthorized access

6.5 Medium

CVSS3

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

LOW

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

NONE

Availability Impact

NONE

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N

0.001 Low

EPSS

Percentile

20.8%

Summary

CWE-200: Exposure of Sensitive Information to an Unauthorized Actor
Access to information you should not have access to when the permissions rely on $CURRENT_USER for filtering.

Details

The permission filters (i.e. user_created IS $CURRENT_USER) are not properly checked when using GraphQL subscription resulting in unauthorized users getting event on their subscription which they should not be receiving according to the permissions.
This can be any collection but out-of-the box the directus_users collection is configured with such a permissions filter allowing you to get updates for other users when changes happen.

An example:

subscription {
  directus_users_mutated {
    event
    data {
      id
      last_access
      last_page
    }
  }
}

Patches

https://github.com/directus/directus/pull/19155

Workarounds

Disable GraphQL Subscriptions

References

Affected configurations

Vulners
Node
rangerstudiodirectusRange<10.5.0
CPENameOperatorVersion
directuslt10.5.0

6.5 Medium

CVSS3

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

LOW

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

NONE

Availability Impact

NONE

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N

0.001 Low

EPSS

Percentile

20.8%

Related for GHSA-GGGM-66RH-PP98