关键漏洞信息 漏洞名称 Orion-ops direct connectivity test allows SSRF and internal port scanning 影响产品 Orion-ops (server component) 漏洞类型 Server-Side Request Forgery / Internal network probing (CWE-918) 根因 Endpoints: POST /orion/api/machine/direct-test-connect 和 POST /orion/api/machine/direct-test-ping 没有执行角色检查。 问题: 直接将用户提供的 , , , 或 转发给 。 影响 Orion-ops 暴露了方便的 API 来测试 SSH 可达性。这些 API 不限制管理员,并接受任意的目标参数。 服务器披露了连接尝试是否超时或因认证失败。 该行为违背了仅测试已注册机器的设计目标,实际上把 Orion-ops 服务器变成了一个 SSRF 代理。 漏洞分析 相关文件: - orion-ops-api/orion-ops-web/src/main/java/cn/orionsec/ops/controller/MachineInfoController.java:128-166 - orion-ops-api/orion-ops-service/src/main/java/cn/orionsec/ops/service/impl/MachineInfoServiceImpl.java:320-505 概念验证 (PoC) 1. 以任何非管理员用户身份认证。 2. 发送 ,附带以下请求体: - 3. 观察 JSON 响应,快速的 “success” 表示端口是开放的,错误或超时则表明其他情况。重复测试不同的内部地址以映射网络。 建议修复 限制直接测试端点,仅允许管理员访问,并确保目标主机是该用户已有的机器条目。 拒绝 私有或不可路由的地址,除非明确列入白名单。 考虑异步进行 连接性检查,在托管代理上而不是管理服务器上执行。