Description
GraphQL Scalars is a library of custom GraphQL scalars for creating precise type-safe GraphQL schemas. From 1.24.1 until 2.0.1, GraphQLPhoneNumber in src/scalars/PhoneNumber.ts uses ambiguous nested digit quantifiers that backtrack exponentially when a PhoneNumber value contains a run of digits followed by a character that makes the match fail. GraphQL evaluates parseLiteral during document validation and parseValue during variable coercion before resolver authentication or authorization, so a small unauthenticated request can block the Node.js event loop and stall the server process. serialize is also affected when unvalidated stored values are returned through the scalar. This issue is fixed in version 2.0.1.
Published: 2026-10-23
Score: 7.5 High
EPSS: n/a
KEV: No
Impact: Denial of Service
Action: Patch
AI Analysis

Impact

GraphQL Scalars includes a PhoneNumber scalar that incorporates a regular expression with ambiguous nested digit quantifiers. During validation or variable binding, the regex backtracks exponentially when a numeric run is followed by a character that fails to match, which can stall the Node.js event loop and effectively deny service. This occurs in a small unauthenticated request before any authentication checks, allowing any attacker to target the application. The vulnerability is classified as CWE‑1333.

Affected Systems

The affected product is the graphql-hive graphql-scalars library. Versions from 1.24.1 up through 2.0.0 (any release prior to the 2.0.1 fix) are vulnerable. After upgrading to v2.0.1 or later, the issue is resolved.

Risk and Exploitability

The CVSS score of 7.5 indicates a high severity vector for a denial‑of‑service attack. Although no EPSS score is available, the exploit is straightforward: an unauthenticated user can submit a GraphQL request containing a long numeric sequence that triggers the backtracking, causing the server’s event loop to block. The exploit does not require privileged access and can be performed against any publicly exposed GraphQL endpoint that uses the vulnerable scalar. The vulnerability is not listed in the CISA KEV catalog, but the impact on availability makes it a critical concern for services that rely on this library.

Generated by OpenCVE AI on October 23, 2026 at 22:23 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade graphql-hive/graphql-scalars to version 2.0.1 or later.
  • If an upgrade cannot be applied immediately, disable or remove the PhoneNumber scalar from the schema, or ensure that any input passed to it is pre‑validated to eliminate long runs of digits that could trigger backtracking.
  • Run a dependency audit (e.g., npm audit) to confirm no other vulnerable versions are present, and test for regressions after applying the patch.

Generated by OpenCVE AI on October 23, 2026 at 22:23 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 23 Oct 2026 21:30:00 +0000

Type Values Removed Values Added
Description GraphQL Scalars is a library of custom GraphQL scalars for creating precise type-safe GraphQL schemas. From 1.24.1 until 2.0.1, GraphQLPhoneNumber in src/scalars/PhoneNumber.ts uses ambiguous nested digit quantifiers that backtrack exponentially when a PhoneNumber value contains a run of digits followed by a character that makes the match fail. GraphQL evaluates parseLiteral during document validation and parseValue during variable coercion before resolver authentication or authorization, so a small unauthenticated request can block the Node.js event loop and stall the server process. serialize is also affected when unvalidated stored values are returned through the scalar. This issue is fixed in version 2.0.1.
Title graphql-scalars PhoneNumber scalar is vulnerable to regular expression denial of service
Weaknesses CWE-1333
References
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-23T21:19:42.561Z

Reserved: 2026-10-23T19:37:27.176Z

Link: CVE-2026-115887

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-23T22:16:58.253

Modified: 2026-10-23T22:16:58.253

Link: CVE-2026-115887

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-23T22:30:14Z

Weaknesses
  • CWE-1333

    Inefficient Regular Expression Complexity