漏洞关键信息 漏洞名称 Authentication Bypass with Automatic Privilege Escalation in Dinky 受影响的环境 项目: Dinky 仓库: https://github.com/DataLinkDC/dinky 受影响版本: 1.2.5 执行摘要 Dinky 的 OpenAPI 端点存在严重的身份验证绕过漏洞,允许未认证用户在没有认证的情况下完全控制平台,执行任意任务、取消生产作业、导出敏感的 SQL 源代码和访问所有管理功能。 漏洞详细信息 问题描述 - 漏洞源于 文件中 Sa-Token 拦截器配置中一个错误的认证检查(第 78-82 行)。当未认证用户请求 路径下的任何端点时,拦截器错误地将权限提升为超级管理员权限,而不是拒绝请求。 脆弱代码逻辑 - 这是一个逻辑错误,本来应该验证管理员权限,却错误地授予未认证用户管理员权限。 技术细节 - 脆弱文件: dinky-admin/src/main/java/org/dinky/configure/AppConfig.java - 脆弱函数/行: addInterceptors() 方法,第 78-82 行 - 攻击向量: 网络(未认证的 HTTP 请求) 受影响的端点 - 所有 端点,包括但不限于: - POST /openapi/submitTask - GET /openapi/cancelTask - GET /openapi/restartTask - POST /openapi/savepoint - POST /openapi/explainSql - GET /openapi/exportSql 影响分析 保密性: 高 - 攻击者可以导出敏感的 SQL 源代码,访问所有任务实例数据和所有管理配置,无需认证。 完整性: 高 - 未授权用户可以提交恶意任务,执行 SQL 查询,修改配置,篡改管理设置。 可用性: 高 - 攻击者可以同时取消所有生产作业,导致实时计算平台的完全服务中断。 CVSS v3.1 评估: 10.0(临界) - 攻击向量: 网络可利用 - 攻击复杂性: 低复杂度 - 所需权限: 不需要 - 用户交互: 不需要 - 影响范围: 改变全部应用安全 - 保密性影响: 高 - 完整性影响: 高 - 可用性影响: 高 概念验证(PoC) 复制步骤提供了几种攻击情形,比如提交恶意任务、取消生产作业和导出 SQL 代码。 修复建议 立即修复:移除自动提升权限的代码。 推荐加固措施: 1. 实施 API Token 认证。 2. 添加方法级别的授权。 3. 网络安全措施。 4. 监视和检测机制。