# graphql-modules 并发资源同步漏洞
## 概述
GraphQL Modules 在特定版本中存在上下文混淆漏洞,当多个并行请求触发同一服务且通过 `@ExecutionContext()` 注入上下文时,会导致请求间上下文数据错误混合。
## 影响版本
- 2.2.1 及以上版本
- 在 2.4.1 之前(不含 2.4.1)
- 在 3.1.1 之前(不含 3.1.1)
## 细节
当两个或多个并发请求触发相同服务时,若服务依赖 `@ExecutionContext()` 注入请求上下文,则可能发生上下文数据混淆。该问题源于上下文在服务实例间未正确隔离。
## 影响
攻击者可能利用该漏洞获取或操作其他用户的请求上下文数据,如认证令牌等敏感信息,导致权限提升或数据泄露。
是否为 Web 类漏洞: 未知
判断理由:
| # | POC 描述 | 源链接 | 神龙链接 |
|---|
标题: Bind context to async execution avoiding race-conditions by enisdenjo · Pull Request #2521 · graphql-hive/graphql-modules · GitHub -- 🔗来源链接
标签:x_refsource_MISC
神龙速读:
### 关键信息
- **Pull Request标题**: Bind context to async execution avoiding race-conditions #2521
- **作者**: enisdenjo
- **状态**: 已合并
- **合并日期**: 3天前
#### 影响与修复
- **目标问题**: 解决异步执行中的上下文绑定问题,避免竞争条件
- **结果**:
- 使用`package.json`子路径导入实现Node独立
- 支持CJS和ESM
- 浏览器打包(wrangler/esbuild/rollup/webpack/parcel)没有上下文绑定
#### 发布与测试
- **版本**: graphql-modules 3.1.0-alpha-2026...
- **测试**:
- 成功测试了alpha版本以确认取消竞争条件
- 一些基准性能指标有所下降,这是由于`async_hooks`的引入,但预期在生产版中会优化
- **发布)**: 有alpha版本可以使用,生产版会尽快发布
#### 反馈与致谢
- **用户反馈**: 多个用户表达了对修复和发布的感谢,并询问正式版的发布时间
- **团队回应**: 开发团队表示可以立即使用alpha版本,并对用户的支持表示感谢,同时对可能的延迟道歉
标题: Context Separation Issue · Issue #2613 · graphql-hive/graphql-modules -- 🔗来源链接
标签:x_refsource_MISC
神龙速读:
### 关键信息
#### 漏洞描述
- **问题**:在将 `graphql-modules` 升级到 2.2.0 及以上版本后,上下文不再保持分离。
- **影响**:升级后,上下文被并行请求覆盖,破坏了上下文的独特性。
#### 复现步骤
1. 实现一个执行额外耗时功能的解析器。可以使用超时来模拟。
2. 调用使用 `@ExecutionContext()` 的注入服务,并从上下文中返回可识别的值。
3. 发送至少两个并行请求。
#### 预期行为
上下文在整个解析函数的运行时应保持一致。
#### 环境
- `graphql-modules`: "2.2.1" 及以上,包括 3.0.0
- NodeJS: 22.14
#### 代码示例
[查看代码示例](minimal-example.zip)
#### 相关更新
- 将上下文绑定到异步执行以避免竞争条件的问题已在 #2521 中解决。
#### 状态
- 该问题已关闭并标记为完成。
标题: Release January 16, 2026 · graphql-hive/graphql-modules · GitHub -- 🔗来源链接
标签:x_refsource_MISC
神龙速读:
以下是可以从这个网页截图中获取到的关于漏洞的关键信息:
- **项目名称和版本**:`graphql-modules@3.1.1`
- **发布日期**:2026年1月16日
- **修补变更**:
- **提交记录**:#2521 d22ecf3
- **描述**:将异步执行的上下文绑定,以避免竞态条件。这个修复可能是针对某个潜在竞态条件相关漏洞的。
- **资产**:包含源代码的压缩包(zip和tar.gz格式)
- **安全更新**:截图显示当前版本是最近发布的版本,并且有针对竞态条件问题的修补,这表明项目可能之前存在该类型的漏洞风险。
这些信息表明项目团队在不断修复安全问题以确保软件的安全性。如果有竞态条件漏洞风险的背景,那么这次更新很有针对性地加强了异步执行的上下文绑定来避免安全问题。
标题: Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition') in graphql-modules · Advisory · graphql-hive/graphql-modules · GitHub -- 🔗来源链接
标签:x_refsource_CONFIRM
神龙速读:
### 关键信息
- **漏洞名称**:
Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition') in graphql-modules
- **漏洞ID**:
GHSA-53wg-r69p-v3r7
- **CVE ID**:
CVE-2026-23735
- **漏洞类型**:
Race Condition
- **受影响版本**:
>= 2.2.1
- **修复版本**:
2.4.1, 3.1.1
- **严重性**:
High
- **描述**:
当两个或更多并行请求触发同一个服务时,在服务中通过 `@ExecutionContext()` 注入上下文时,请求的上下文会混淆。
- **证明概念 (PoC)**:
包含了详细的步骤和代码示例,用于重现该漏洞。
- **影响**:
使用 `@ExecutionContext()` 注入上下文服务的任何应用程序都处于风险中。应用程序的流量越大,并行请求的可能性越高,风险也就越高。
- **报告者**:
DuckThom
- **修复开发者**:
enisdenjo
- **审查者**:
ardatan
暂无评论