Advisory Database
  • Advisories
  • Dependency Scanning
  1. npm
  2. ›
  3. @keystone-6/core
  4. ›
  5. GMS-2023-1872

GMS-2023-1872: @keystone-6/core's bundled cuid package known to be insecure

June 12, 2023 (updated June 23, 2023)

Summary

The cuid package used by @keystone-6/* and upstream dependencies is deprecated and marked as insecure by the author.

As reported by the author

Cuid and other k-sortable and non-cryptographic ids (Ulid, ObjectId, KSUID, all UUIDs) are all insecure. Use @paralleldrive/cuid2 instead.

What are doing about this?

  • We are waiting on Prisma to add support for cuid2
  • Alternatively, we might default to a random string ourselves

What can I do about this?

We have added a work-around for users who want to provide custom identifiers in https://github.com/keystonejs/keystone/pull/8645

What if I need a cuid?

The features marked as a security vulnerability by @paralleldrive are sometimes actually needed (as written in the README of cuid) - the problem is the inherent risks that features like this can have.

You might actually want the features of a monotonically increasing (auto-increment, k-sortable), and timestamp-based id as part of your application, and keystone should support that - but you might not want them by default. This is why this security advisory has been accepted by me (@dcousens), we currently use cuid identifiers by default, and that should change.

Impact

I have accepted this security advisory on the basis that we don’t need this kind of identifier typically, and the need for them should be driven by an application’s requirements, not a convenient default.

References

  • github.com/advisories/GHSA-5fp6-4xw3-xqq3
  • github.com/keystonejs/keystone/issues/8282
  • github.com/keystonejs/keystone/security/advisories/GHSA-5fp6-4xw3-xqq3
  • github.com/paralleldrive/cuid

Code Behaviors & Features

Detect and mitigate GMS-2023-1872 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →

Affected versions

All versions up to 5.3.1

Solution

Unfortunately, there is no solution available yet.

Source file

npm/@keystone-6/core/GMS-2023-1872.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Sun, 08 Nov 2026 00:17:12 +0000.