MichaelAdamGroberman/CVE-2026-25197
GitHub: MichaelAdamGroberman/CVE-2026-25197
披露 Gardyn 智能家居设备的 IDOR 授权绕过漏洞(CVE-2026-25197),展示连续 ID 导致的大规模用户数据遍历风险。
Stars: 1 | Forks: 0
# CVE-2026-25197:通过用户可控密钥绕过授权 (IDOR)
## 分类
- **CVE:** [CVE-2026-25197](https://www.cve.org/CVERecord?id=CVE-2026-25197)
- **Gr0m IDs:** Gr0m-007, Gr0m-023
- **CVSS 3.1:** 9.1 (严重)
- **向量:** CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
- **CWE:** CWE-639 (通过用户可控密钥绕过授权)
- **状态:** 已确认
## 概要
多个 API 端点允许经过身份验证的用户通过修改连续的用户或设备 ID 参数来访问其他用户的数据。影响 REST API 和 GraphQL API,导致能够完整枚举所有 134,215+ 个用户账户及其相关设备,包括摄像头图像。
## 受影响的端点
### REST API
```
GET https://gardyn-api-deploy-prod.azurewebsites.net/api/user/{user_id}
```
用户 ID 是连续的整数。经过身份验证的用户可以枚举并访问任何用户的数据。
### GraphQL API
```
POST https://gardyn-production-api-data.azurewebsites.net/graphql
```
设备和用户查询接受任意 ID。虽然验证了身份,但未验证授权——任何经过身份验证的用户都可以查询任何设备或用户记录。
## 暴露的数据
- 全名、电子邮件地址、物理地址
- 设备关联和序列号
- 摄像头图像(使用用户/设备 ID 的可预测 URL 模式)
- 账户设置和配置
## 三个独立的 IDOR 向量
1. REST `/api/user/{id}` —— 连续的用户 ID
2. GraphQL `Device(id: N)` —— 带有用户 PII 的连续设备 ID
3. GraphQL `User(id: N)` —— 直接的用户枚举
## 影响
- 134,215+ 用户的 PII 泄露
- 访问家庭内部摄像头图像(约 115,000 个摄像头)
- 完整的用户到设备映射
- 大规模隐私侵犯
## 修复建议
1. 在所有用户/设备数据端点上实施授权检查
2. 将连续 ID 替换为 UUID
3. 验证经过身份验证的用户拥有所请求的资源
4. 轮换 GraphQL API 凭证
5. 在查询端点上实施速率限制
## 完整技术报告
请参阅 [CVE-2026-25197.md](CVE-2026-25197.md) 获取符合 CISA 标准的完整公告。
**研究员:** Gr0m
标签:API 漏洞, CVE-2026-25197, CWE-639, Gardyn Home Kit, GraphQL 安全, IDOR, IoT 安全, PII 泄露, REST API 安全, 不安全的直接对象引用, 协议分析, 授权绕过, 摄像头劫持, 数据泄露, 智慧家居, 权限提升, 枚举攻击, 漏洞分析, 用户隐私泄露, 越权访问, 足迹分析, 路径探测, 逻辑漏洞