漏洞概述 漏洞名称: Server-Side Request Forgery (SSRF) Vulnerability in AI Proxy Middleware of HyperChat 漏洞编号: #142 漏洞类型: SSRF (Server-Side Request Forgery) 漏洞描述: 在 HyperChat 的 AI 代理中间件中发现了一个 SSRF 漏洞。HTTP 中间件接受攻击者控制的 请求头,附加剩余的请求路径,并使用 转发请求,而没有进行验证或允许列表检查。攻击者可以通过网络访问 HyperChat HTTP 服务,强制服务器向攻击者控制的或内部目的地发出任意出站 HTTP 请求。 影响范围 受影响版本: 2.0.0-alpha.63 受影响组件: - - 修复方案 1. 消除直接 头到 流的文档化。 2. 添加认证和授权检查,在允许代理请求之前。 3. 用严格的允许列表替换攻击者控制的目的地选择,仅批准上游 AI 端点。 4. 添加回归测试,证明任意用户提供的目的地无法触发出站请求。 POC 代码 其他信息 CVSS v3.1 建议: - 建议向量: - 建议基础分数: 9.3 (Critical) 临时缓解措施: - 不要将 HyperChat HTTP 服务暴露给不受信任的网络。 - 更改默认 Web 密码,避免依赖路径保密作为访问控制机制。 - 移除或严格限制 代理功能。 - 强制执行目的地允许列表和阻止回环、链接本地、RFC1918 和其他敏感目标。 参考: - 仓库: https://github.com/BigSweetPotatoStudio/HyperChat - 审查的源文件: - - - - 包版本参考: - CWE-918: https://cwe.mitre.org/data/definitions/918.html 信用: - 发现者: Bruce31n - 发现方法: 静态分析 (CodeQL) 加上仓库源代码审计和本地复现 额外备注: - 审计结论: 确认可利用;攻击者控制的 输入到达 HTTP 代理中间件中的出站 接收器。 - 动态利用重放状态: 使用 和攻击者控制的 HTTP 监听器在本地完成。 - 两个 SARIF 结果对应于 中的相同底层 SSRF 流,而不是两个不同的漏洞。