GraphQL phone number checker can freeze a Node.js server
A specially crafted phone-number input can make the server spend many seconds on one request, so it stops answering other users. Anyone can send such a request without logging in.
| Severity | HighCVSS 7.5 of 10 |
|---|---|
| Being exploited? | UnclearNo reports either way yet |
| Fix available? | Yesgraphql-scalars 2.0.1 · since 28 Oct 2026 |
| How sure is this? | Official, 2 sourcesBacked by an official source |
How the attack works simplified
- 1AttackerSends one small unauthenticated request
- 2PhoneNumber inputLong digit run followed by a letter
- 3Validation runs regexRuns before any auth check
- 4Event loop blockedRegex time doubles per extra digit
- ResultServer process stalls for seconds
What happened
In graphql-scalars, the GraphQLPhoneNumber scalar uses a regular expression with nested optional digit quantifiers that backtrack exponentially on a long run of digits followed by a non-matching character (ReDoS). graphql-js runs parseLiteral during validation and parseValue during variable coercion, before authentication, so an unauthenticated request can block the Node.js event loop.
Are you affected?
You are affected if your project uses the graphql-scalars npm package at version 1.24.1 through 2.0.0 and exposes the PhoneNumber scalar in its GraphQL schema.
| Package / product | Affected versions | Fixed in |
|---|---|---|
| graphql-scalars · npm | <= 2.0.0 | 2.0.1 |
| graphql-scalars · npm | >= 1.24.1, <= 2.0.0 | 2.0.1 |
What to do
- Update graphql-scalars to version 2.0.1 or later (npm install graphql-scalars@2.0.1)
- Check your lockfile and transitive dependencies to confirm no older affected version remains
- Redeploy the GraphQL server after updating
Timeline
- 23 Oct 2026, 22:16 UTCPublicly disclosed
- 23 Oct 2026, 22:16 UTCReported by NVD · NVD
- 28 Oct 2026, 21:13 UTCGitHub Advisory reported on it · GitHub Advisory
- 28 Oct 2026, 21:13 UTCFixed version published: graphql-scalars 2.0.1 · GitHub Advisory
Sources 2 reports, oldest first
Official vendor, government CERT or advisory database
- NVD23 Oct 2026, 22:16 UTC
- graphql-scalars PhoneNumber scalar is vulnerable to regular expression denial of serviceGitHub Advisory · 28 Oct 2026, 21:13 UTC
Technical details
- ID
- CVE-2026-115887 · GHSA-x8rm-f576-gq67
- CVSS
- 7.5 / 10
- EPSS
- 0.5% chance of exploitation within 30 days
- Disclosed
- 23 Oct 2026, 22:16 UTC
- On Zero Radar
- before the radar started
- Last change
- 30 Oct 2026, 15:38 UTC
The plain-language parts and the attack diagram were written by an AI model (anthropic/claude-haiku-5.5) from the sources above. Facts like versions, exploitation and dates come from the sources themselves. How Zero Radar works