# Cal.com 自定义JWT回调认证绕过漏洞
## 概述
Cal.com 的自定义 NextAuth JWT 回调中存在漏洞,攻击者可通过 `session.update()` 提供目标邮箱地址,获取任意用户的完全认证访问权限。
## 影响版本
从 3.1.6 版本开始至 6.0.7 版本之前。
## 细节
漏洞存在于自定义的 NextAuth JWT 回调逻辑中,未正确验证会话更新请求中的用户身份,导致攻击者可通过调用 `session.update()` 并指定目标邮箱,劫持该邮箱对应用户的会话。
## 影响
攻击者可利用该漏洞完全冒充任意用户,获得其账户的全部访问权限。
是否为 Web 类漏洞: 未知
判断理由:
| # | POC 描述 | 源链接 | 神龙链接 |
|---|---|---|---|
| 1 | CVE-2026-23478 | https://github.com/Ashwesker/Ashwesker-CVE-2026-23478 | POC详情 |
标题: Authentication Bypass via Unvalidated Email in Custom JWT Callback · Advisory · calcom/cal.com · GitHub -- 🔗来源链接
标签:x_refsource_CONFIRM
神龙速读:
### 关键信息
#### 漏洞标题
- **Authentication Bypass via Unvalidated Email in Custom JWT Callback**
#### 影响版本
- **Affected versions**: `>= 3.1.6 < 6.0.7`
- **Patched versions**: `>= 6.0.7`
#### 漏洞描述
- **Summary**:
- 通过在自定义NextAuth JWT回调中,攻击者可以通过提供目标电子邮件地址(使用 `session.update()` 调用)获得对任何用户帐户的完全验证访问权限。
- **Details**:
- 回调接受触发标记为`"update"`的客户端控制身份字段,并将其直接写入JWT,而没有验证。当攻击者调用 `session.update({ email: "victim@example.com" })` 时,JWT将更新为 `{ sub: attackerId, email: "victim@example.com" }`。
- 随后的使用此修改JWT的请求将作为受害者通过身份验证,应用按已攻击者控制的 `token.email` 字段查询用户,从而授予完全的验证访问权限。
- **Impact**:
- 攻击者只需知道电子邮件地址即可获得对任何用户帐户的完全验证访问。访问用户的预订、事件类型、集成、组织成员身份、账单信息和管理员特权(如果适用)立即被授予。
- 攻击只需要一个API调用,2FA或与外部IDP关联的安全功能无法阻止这次攻击。
#### 漏洞严重程度
- **CVSS V4 Base Metrics**:
- **Severity**: Critical 10.0/10
- **Exploitability Metrics**:
- Attack Vector: Network
- Attack Complexity: Low
- Attack Requirements: None
- Privileges Required: None
- User Interaction: None
- **Vulnerable System Impact Metrics**:
- Confidentiality: High
- Integrity: High
- Availability: High
- **Subsequent System Impact Metrics**:
- Confidentiality: High
- Integrity: High
- Availability: Low
#### 英文ID和漏洞属性
- **CVE ID**: CVE-2026-23478
- **Weaknesses**:
- CWE-603
- CWE-639
#### 时间线
- **公开日期**: 最近一周(具体日期未显示)
#### 发现与报告
- **报告者**: jaydns
- **使用的工具**: veria-labs
Zaproxy alias impedit expedita quisquam pariatur exercitationem. Nemo rerum eveniet dolores rem quia dignissimos.