GitHub Advisoryadvisory · npm

GHSA-m4h2-mjfm-mp55 Mercurius's queryDepth limit bypassed for WebSocket subscriptions

LOW Published 2026-03-06 Modified 2026-03-09 Official page ↗
Aliases
CVE-2026-30241
Ecosystem
npm
Packages
mercurius
Severity
Low
CVSS vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N/E:U
Weaknesses
CWE-863
Reviewed
2026-03-06

Affected packages

• npm mercurius: < 16.8.0 → fixed in 16.8.0

Description

Description Mercurius fails to enforce the configured queryDepth limit on GraphQL subscription queries received over WebSocket connections. The depth check is correctly applied to HTTP queries and mutations, but subscription queries are parsed and executed without invoking the depth validation. This allows a remote client to submit arbitrarily deeply nested subscription queries over WebSocket, bypassing the intended depth restriction. On schemas with recursive types, this can lead to denial of service through exponential data resolution on each subscription event. Workarounds Disable subscriptions and, in general, queries over the WebSocket.

Related

Alias · CVE (1)

  • CVE-2026-30241 Mercurius is a GraphQL adapter for Fastify. vulnerability

Weakness · CWE (1)

  • CWE-863 Incorrect Authorization weakness

References