CVE-2026-23735

N/A Unknown

📋 TL;DR

This vulnerability in GraphQL Modules allows parallel requests to mix up execution contexts when using @ExecutionContext() injection, potentially exposing authentication tokens and sensitive data between different user sessions. It affects GraphQL servers using GraphQL Modules versions 2.2.1 to 2.4.0 and 3.0.0 to 3.1.0. Developers who use @ExecutionContext() to pass request context to services are impacted.

💻 Affected Systems

Products:
  • GraphQL Modules
Versions: 2.2.1 to 2.4.0, 3.0.0 to 3.1.0
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects implementations using @ExecutionContext() decorator for context injection in services. Requires parallel requests triggering the same service.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Authentication tokens and user session data from one request could be exposed to another user's request, leading to unauthorized data access, privilege escalation, or account takeover.

🟠

Likely Case

User data leakage between concurrent requests, potentially exposing sensitive information like authentication tokens, user IDs, or authorization headers to unintended recipients.

🟢

If Mitigated

Limited impact with proper request isolation and additional authentication checks, though some data mixing may still occur.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Requires parallel requests to the same service endpoint. Exploitation depends on application architecture and concurrency patterns.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.4.1 for v2.x, 3.1.1 for v3.x

Vendor Advisory: https://github.com/graphql-hive/graphql-modules/security/advisories/GHSA-53wg-r69p-v3r7

Restart Required: Yes

Instructions:

1. Update GraphQL Modules package: npm update @graphql-modules/core 2. Verify version matches 2.4.1+ (v2) or 3.1.1+ (v3) 3. Restart your GraphQL server 4. Test parallel request handling

🔧 Temporary Workarounds

Avoid @ExecutionContext() injection

all

Manually pass context through service methods instead of using decorator injection

Implement request queuing

all

Use request queuing mechanisms to prevent parallel execution of the same service

🧯 If You Can't Patch

  • Implement additional authentication checks in services to verify context ownership
  • Add request correlation IDs and validate them throughout the request lifecycle

🔍 How to Verify

Check if Vulnerable:

Check package.json for @graphql-modules/core version between 2.2.1-2.4.0 or 3.0.0-3.1.0 and verify usage of @ExecutionContext() decorator

Check Version:

npm list @graphql-modules/core

Verify Fix Applied:

Confirm @graphql-modules/core version is 2.4.1+ or 3.1.1+ and test parallel requests to services using @ExecutionContext()

📡 Detection & Monitoring

Log Indicators:

  • Unexpected context mixing in service logs
  • Authentication failures from mismatched tokens
  • Concurrent requests to same service endpoint

Network Indicators:

  • Parallel GraphQL requests to same operation
  • Increased error rates on context-dependent operations

SIEM Query:

source="graphql" AND ("ExecutionContext" OR "context mixing") AND status=error

🔗 References

📤 Share & Export