# N/A
## 概述
Dify v1.9.1 存在权限不安全漏洞,攻击者无需身份验证即可通过 HTTP GET 请求访问关键系统配置接口。
## 影响版本
- Dify v1.9.1
## 漏洞细节
`/console/api/system-features` 接口未实施有效的身份验证和授权控制,导致攻击者可在未认证的情况下直接访问该接口,从而获取敏感的系统配置数据。
## 影响
攻击者可利用此漏洞获取系统配置信息,可能为进一步攻击提供有用情报,造成信息泄露风险。
是否为 Web 类漏洞: 未知
判断理由:
| # | POC 描述 | 源链接 | 神龙链接 |
|---|---|---|---|
| 1 | Dify v1.9.1 contains an insecure permissions vulnerability caused by lack of authorization checks in /console/api/system-features endpoint, letting unauthenticated attackers access sensitive system configuration data. | https://github.com/projectdiscovery/nuclei-templates/blob/main/http/cves/2025/CVE-2025-63387.yaml | POC详情 |
标题: refactor: optimize system features response payload for unauthenticated clients by Cursx · Pull Request #31392 · langgenius/dify · GitHub -- 🔗来源链接
标签:
神龙速读:
## 关键信息总结
### 漏洞描述
- **漏洞编号**: CVE-2025-6387
- **版本影响**: Dify v1.9.1
- **漏洞类型**: Insecure Permissions
- **描述**:
- 未认证的用户可以直接通过 HTTP GET 请求访问 `/console/api/system-features` 端点,获取系统配置数据。
- 该端点未实施适当的身份验证和授权检查,导致任意用户可以访问敏感的系统配置信息。
### 漏洞影响
**安全风险**:
- 未授权的用户可以获取到敏感的系统配置信息,包括但不限于认证方法和品牌等配置数据。
- 可能导致数据泄露和潜在的安全风险。
### 修复措施
- **修复提交**: #31392
- **修复内容**:
- 对 `SystemFeatureApi` 的 `get` 方法进行重构,增加了 `@login_required` 和 `@account_initialization_required` 装饰器。
- 确保只有通过认证并初始化的用户才能访问系统功能配置信息。
### 补充信息
- **相关讨论**:
- 从图片中可见,有关于该漏洞的详细报告,提到 `/console/api/system-features` 端点在设计上需要保持未认证访问以满足前后端Circular dependencies问题。
- 最新评论中提到,前端子系统依赖于该端点进行初始化。
```
这个Markdown总结了关于该漏洞的关键信息,包括漏洞描述、影响、修复措施和相关讨论,能够简洁地传达问题的核心内容。
标题: CVE-2025-63387 Public Disclosure · GitHub -- 🔗来源链接
标签:
神龙速读:
## 关键漏洞信息
- **CVE ID**: CVE-2025-63387
- **日期**: 2025-12-18
- **供应商**: LangGenius (Dify)
- **产品**: Dify
- **受影响版本**: v1.9.1
- **漏洞类型**: 不安全的权限 / 身份验证绕过
- **严重性**: 中等(信息泄露)
### 概要
Dify v1.9.1 漏洞允许未授权的攻击者直接发送 HTTP GET 请求到 `/console/api/system-features` 端点,而无需任何身份验证凭据或会话令牌。该端点未能实现适当的授权检查。
### 影响
- **信息泄露**: 向未经授权的匿名用户暴露敏感系统配置数据。
### 参考
- **供应商仓库**: [Github repo](https://github.com/langgenius/dify)
- **讨论**: [Discussions](https://github.com/langgenius/dify/discussions)
### 致谢
由 Liu Zhihuang 发现 (<herecristliu@gmail.com>).
标题: docs(api): mark SystemFeatureApi as unauthenticated by design by QuantumGhost · Pull Request #31417 · langgenius/dify · GitHub -- 🔗来源链接
标签:
神龙速读:
### 关键信息
- **漏洞描述**:
- `/console/api/system-features` 接口在设计上是未经过身份验证的,这对于仪表板初始化是必需的。
- 引入身份验证会导致循环依赖问题(登录时加载仪表板的问题)。
- **相关CVE**:
- CVE-2025-63387
- **相关Issue**:
- #31368
- **安全影响**:
- 由于该API未经过身份验证,可能会导致安全风险,具体风险需结合实际应用场景评估。
- **代码修改**:
- **Labels**: documentation, lgtn, size:S
- **File Changes**: 1
- **Checklist**:
- 文档更新
- 添加测试
- 更新文档
- 运行代码质量检查
标题: /console/api/system-features security vulnerability · Issue #31368 · langgenius/dify -- 🔗来源链接
标签:
神龙速读:
### 关键信息
**漏洞报告标题**
- `/console/api/system-features` 安全漏洞
**漏洞详情**
- **版本**: 1.11.3
- **部署类型**: 自托管 (Docker)
- **问题**: `/console/api/system-features` 接口未实现有效的身份验证
- 缺乏认证和授权控制,允许攻击者直接访问接口
- 可能导致获取敏感系统配置
- **预期行为**: 修复漏洞
- **实际行为**: 无响应
**开发团队的回应**
- 这种行为是**设计使然**。该端点在用户身份验证之前,于 Dify 仪表盘的初始加载期间访问,因此有意设计为无需认证即可访问。
- 该端点仅返回仪表盘正常渲染所需的非敏感系统配置数据,如可用功能、UI 设置等,不暴露敏感信息或访问受限功能。
- 如果该端点要求身份验证,会创建循环依赖,即仪表盘无法在用户未认证时加载,而用户又无法在仪表盘未加载时进行认证,这样会破坏整个 Dify 仪表盘。
- **CVE**: 漏洞已被分配 CVE-2025-63387。出于技术原因,端点必须保持未认证状态。PR #31392 作为数据最小化原则的应用将被合并,移除未认证响应中的冗长许可相关数据以优化 API,同时保持必要功能。
**补救措施**
- API 接口文档标记为`设计为未认证`。
- **安全合规考虑**:建议实施网络级别的访问控制,如 VPN 或 IP 白名单,以限制对 Dify 控制台,包括`/console/api/system-features`端点的访问,这样既解决了安全扫描工具的担忧,又不破坏应用程序功能,同时维护仪表盘初始化所需的未认证访问。
暂无评论