漏洞总结 漏洞概述 ArcadeDB 数据库存在一个安全漏洞,允许用户通过 HTTP 命令处理器绕过数据库级别的访问控制。具体表现为: 使用 权限的 API Token 可以跨数据库执行 操作 使用 权限的 API Token 可以跨数据库执行 操作 使用 权限的 API Token 可以跨数据库执行 操作 影响范围 所有使用 ArcadeDB 数据库的用户 使用 API Token 进行身份验证的场景 涉及数据库间数据操作的场景 修复方案 1. 在 LocalDocumentType.java 中添加权限检查: 2. 在 ArcadeDBServer.java 中设置安全配置: 3. 在 SecurityServer.java 中改进数据库配置处理: - 添加对数据库配置中 字段的处理 - 确保在合并配置时正确处理权限信息 4. 在 CrossDatabaseAccessIT.java 中添加测试用例: - 验证 权限的 API Token 不能跨数据库执行 操作 - 验证 权限的 API Token 不能跨数据库执行 操作 - 验证 权限的 API Token 不能跨数据库执行 操作 5. 在 createToken 方法中添加数据库信息: POC 代码