Niedrig

Keystone has an unintended `isFilterable` bypass that can be used as an oracle to match hidden fields

  • Veröffentlicht: 05.05.2025
  • Aktualisiert: 11.10.2026 10:22

Summary

{field}.isFilterable access control can be bypassed in update and delete mutations by adding additional unique filters. These filters can be used as an oracle to probe the existence or value of otherwise unreadable fields.

Specifically, when a mutation includes a where clause with multiple unique filters (e.g. id and email), Keystone will attempt to match records even if filtering by the latter fields would normally be rejected by field.isFilterable or list.defaultIsFilterable. This can allow malicious actors to infer the presence of a particular field value when a filter is successful in returning a result.

Impact

This affects any project relying on the default or dynamic isFilterable behaviour (at the list or field level) to prevent external users from using the filtering of fields as a discovery mechanism. While this access control is respected during findMany operations, it was not completely enforced during update and delete mutations when accepting more than one unique where values in filters.

This has no impact on projects using isFilterable: false or defaultIsFilterable: false for sensitive fields, or if you have otherwise omitted filtering by these fields from your GraphQL schema. (See workarounds)

Patches

This issue has been patched in @keystone-6/core version 6.5.0.

Workarounds

To mitigate this issue in older versions where patching is not a viable pathway.

  • Set isFilterable: false statically for relevant fields to prevent filtering by them earlier in the access control pipeline (that is, don't use functions)
  • Set {field}.graphql.omit.read: true for relevant fields, which implicitly removes filtering by these fields your GraphQL schema
  • Deny update and delete operations for the relevant lists completely (e.g list({ access: { operation: { update: false, delete: false } }, ... }))

Betroffene Software

Klicken Sie auf eine Technologie, um alle zugehörigen Schwachstellen anzuzeigen.

PlattformPaketAnfällige VersionenBehoben in
npm-Paket @keystone-6/core < 6.5.0 6.5.0

Verweise

CVSS-Wert 3.1/10
CVSS-Vektor
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N
Schwäche (CWE)
CWE-200, CWE-203
Plattform
npm
Paket
@keystone-6/core
Veröffentlicht
05.05.2025
Aktualisiert
11.10.2026 10:22

Quellen und Lizenzen

OSV / GitHub Advisory Database - GHSA-hg9m-67mm-7pg3 - CC BY 4.0

Schwachstellenhistorie: @keystone-6/core

Alle veröffentlichten Schwachstellen dieses Pakets (npm-Paket), neueste zuerst. Zeigt, ob es ein einmaliger Ausrutscher ist oder ein Paket, das man im Auge behalten muss.

Einträge insgesamt
8
Erste → letzte
10.2022 08.2026
Ohne Fix
2
In Angriffen ausgenutzt
0

Verteilung nach Schweregrad

  • Kritisch 2
  • Hoch 1
  • Mittel 2
  • Niedrig 3

Veröffentlichungen pro Jahr

  1. 2022: 2
  2. 2023: 2
  3. 2024: 0
  4. 2025: 1
  5. 2026: 3
  1. Niedrig · 4.3 CVE-2026-10802 <= 6.5.3 keine Korrektur
  2. Keystone has an unintended `isFilterable` bypass that can be used as an oracle to match hidden fields dieser Eintrag
    Niedrig · 3.1 CVE-2025-46720 < 6.5.0 6.5.0
  3. Niedrig ghsa-5fp6-4xw3-xqq3 <= 5.3.1 keine Korrektur
  4. Kritisch · 9.8 CVE-2022-39382 >= 3.0.0, < 3.0.2 3.0.2
  5. Kritisch · 9.1 CVE-2022-39322 >= 2.2.0, < 2.3.1 2.3.1

Erkennen Sie Schwachstellen in Ihrer Anwendung

Mit der DockRay-Integration und aktivierter Softwareinventarisierung prüft DockRay gemeldete Komponentenversionen auf bekannte Schwachstellen und benachrichtigt Sie über bestätigte Treffer. Die Abdeckung hängt von der unterstützten Technologie und den verfügbaren Meldungen ab.

Anwendung verbinden
DockRay Newsletter

Anwendungssicherheit in Ihrem Postfach

Wichtige Schwachstellen, konkrete Empfehlungen und praktische Tipps für Ihre Anwendungen. Wählen Sie Ihre Technologien und verfolgen Sie, was für Ihr Projekt relevant ist.

  • Eine tägliche Zusammenfassung neuer Schwachstellen, auch kritischer.
  • Benachrichtigungen über wichtige Updates.
  • Praktische Tipps zur Sicherheit und Überwachung von Anwendungen.

Leer lassen, um Meldungen zu allen Technologien zu erhalten.

Kostenlos anmelden. In jeder E-Mail mit einem Klick abmelden.