High

Directus allows unauthenticated access to WebSocket events and operations

  • Disclosed: 09.12.2024
  • Updated: 11.10.2026 10:22

Summary

When setting WEBSOCKETS_GRAPHQL_AUTH or WEBSOCKETS_REST_AUTH to "public", an unauthenticated user is able to do any of the supported operations (CRUD, subscriptions) with full admin privileges.

Details

Accountability for unauthenticated WebSocket requests is set to null, which used to be "public permissions" until the Permissions Policy update which now defaults that to system/admin level access. So instead of null we need to make use of createDefaultAccountability() to ensure public permissions are used for unauthenticated users.

PoC

  1. Start directus with
bash
WEBSOCKETS_ENABLED=true
WEBSOCKETS_GRAPHQL_AUTH=public
WEBSOCKETS_REST_AUTH=public
  1. Subscribe using GQL or REST or do any CRUD operation on a user created collection (system tables are not reachable with crud)
gql
subscription {
    directus_users_mutated {
        key
        event
        data {
            id
            email
            first_name
            last_name
            password
        }
    }
}

or

js
{
   "type": "items",
   "action": "read",
   "collection": "your_collection_name"
}

3a. Open up the data studio as any user. Observe how the subscriber gets notified on each page navigation (because the users last_page gets updated, the password fields is properly redacted here)

3b. Observe receiving all available items from the your_collection_name collection.

Impact

This impacts any Directus instance that has either WEBSOCKETS_GRAPHQL_AUTH or WEBSOCKETS_REST_AUTH set to public allowing unauthenticated users to subscribe for changes on any collection or do REST CRUD operations on user defined collections ignoring permissions.

Affected software

Click a technology to see all vulnerabilities affecting it.

PlatformPackageVulnerable versionsFixed in
npm package directus >= 11.0.0, < 11.3.0 11.3.0
npm package @directus/api >= 22.2.0, < 23.2.0 23.2.0

References

CVSS score 7.5/10
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Weakness (CWE)
CWE-200
Platform
npm
Package
directus, @directus/api
Disclosed
09.12.2024
Updated
11.10.2026 10:22

Sources and licenses

OSV / GitHub Advisory Database - GHSA-849r-qrwj-8rv4 - CC BY 4.0

Vulnerability history: directus

All published vulnerabilities of this package (npm package), newest first. Shows whether this is a one-off slip or a package that needs watching.

All (58) in the archive
Total entries
58
First → latest
04.2022 07.2026
Without a fix
0
Exploited in attacks
0

Severity breakdown

  • Critical 2
  • High 19
  • Medium 34
  • Low 3

Disclosures per year

  1. 2022: 4
  2. 2023: 8
  3. 2024: 14
  4. 2025: 17
  5. 2026: 15
Severity:
  1. High · 7.7 CVE-2026-61835 < 12.0.0 12.0.0
  2. High · 8.7 CVE-2026-35408 < 11.17.0 11.17.0
  3. High · 8.6 CVE-2025-30353 >= 9.12.0, < 11.5.0 11.5.0
  4. Directus allows unauthenticated access to WebSocket events and operations this entry
    High · 7.5 CVE-2024-54151 >= 11.0.0, < 11.3.0 11.3.0
  5. High · 7.4 CVE-2024-45596 < 10.13.3, >= 11.0.0-rc.1, < 11.1.0 10.13.3, 11.1.0
  6. High · 7.5 CVE-2024-39896 >= 9.11, < 10.13.0 10.13.0
  7. High · 6.3 CVE-2024-39701 >= 9.23.0, < 10.6.0 10.6.0
  8. High · 8.2 CVE-2024-27295 < 10.8.3 10.8.3
  9. High · 7.5 CVE-2023-45820 >= 10.4.0, < 10.6.2 10.6.2
  10. High · 7.6 ghsa-22rr-f3p8-5gf8 < 10.6.0 10.6.0
  11. Critical · 9.8 CVE-2022-26969 < 9.7.0 9.7.0
Show more (1) Showing 20 of 21

Know which vulnerabilities affect your application

With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.

Connect your application
DockRay newsletter

Application security in your inbox

Important vulnerabilities, actionable guidance and practical advice for your applications. Choose your technologies and follow what matters to your project.

  • A daily digest of new vulnerabilities, critical ones included.
  • Notifications about important updates.
  • Practical advice on application security and monitoring.

Leave empty to receive updates for every technology.

Free to subscribe. Unsubscribe with one click in any email.