🟠 高危 | CVE-2026-63765 — Chatwoot before 4.16.0 contains an authentication ...
🟠 【深度分析】高危安全漏洞:CVE-2026-63765
CVSS 评分: 高危(8.8)🟠 状态: Deferred 发布时间: 2026-07-23
🔍 技术细节速览
| 字段 | 值 |
|---|---|
| CVE ID | CVE-2026-63765 |
| CVSS 评分 | 8.8 🟠 |
| 严重程度 | 高危 |
| CVSS 向量 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
| CWE 分类 | CWE-306 |
| 发布时间 | 2026-07-23 |
| 最后更新 | 2026-07-27 |
| 状态 | Deferred |
| 数据来源 | disclosure@vulncheck.com |
CVSS 4.0 评分:8.8(高危)
向量:CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N
危害等级: 高危(CVSS 8.8)
CWE: CWE-306(认证缺失)
漏洞概述
CVE-2026-63765 是 Chatwoot(客户支持平台)中的一个认证绕过漏洞,存在于 4.16.0 之前的版本中。该漏洞允许未经验证的远程攻击者绕过直接上传控制器(direct uploads controller)的权限检查,进而能够在任意租户账户下创建任意的 ActiveStorage blob。攻击者利用缺失的身份验证逻辑,可以解析任意账户和对话,获取签名的 PUT URL,并将任意数据写入应用的存储后端。
该漏洞的攻击复杂度低、无需任何权限或用户交互,且影响完整性和可用性(完整性影响高、可用性影响低),对机密性无直接影响。综合评分 8.8,属于高危级别。
受影响组件与版本
| 组件/软件 | 受影响版本范围 |
|---|---|
| Chatwoot | < 4.16.0 |
修复版本: 4.16.0 及以上版本。
漏洞原理分析
技术成因
Chatwoot 使用 Ruby on Rails 框架,并集成了 Active Storage(用于文件上传的后端抽象层)。在直接上传(direct upload)功能中,通常需要先进行用户身份验证和租户上下文验证,以防止未授权用户访问或操作存储资源。
漏洞出现在 direct uploads controller(直接上传控制器)中。该控制器在生成签名 PUT URL(用于浏览器/客户端直接向存储后端上传文件)之前,未对请求者的身份进行验证。具体问题点:
- 缺失身份验证检查:控制器未强制执行需要有效会话或 API Token 的中间件。
- 缺失租户隔离验证:攻击者可以通过枚举或猜测
account_id和conversation_id参数,绕过关联检查,从而在任何租户下创建 blob。 - 签名 URL 生成缺陷:一旦 blob 记录被创建(甚至无需上传文件),框架会自动生成一个签名的 PUT URL,该 URL 允许直接向对象存储(如 AWS S3、GCS 等)写入任意数据。
攻击向量
- 网络攻击路径(AV:N):攻击者可通过互联网直接访问 Chatwoot 实例。
- 无需认证(PR:N):无需任何用户凭证。
- 无需交互(UI:N):攻击者仅发送构造的 HTTP 请求即可完成攻击。
- 攻击复杂度低(AC:L):只需了解 API 接口格式及参数结构(通常公开可查)。
典型攻击步骤:
- 向未授权端点发送 POST 请求,携带伪造的
account_id、conversation_id等参数。 - 控制器返回一个 ActiveStorage blob 的 blob key 和签名 URL。
- 攻击者使用获得的签名 PUT URL,将任意数据(如恶意文件、后门脚本、大量垃圾数据)直接上传到存储后端。
- 若存储后端是公开的,或应用后续会从存储中读取文件,攻击者可实现进一步危害(如远程代码执行、存储成本飙升等)。
影响评估
利用条件
- 目标系统运行 Chatwoot < 4.16.0。
- 直接上传端点暴露于公网(默认配置下通常如此)。
攻击复杂度
- 低:无需任何特殊权限,只需知道 API 路径和参数结构(可通过正常使用或文档获知)。
潜在后果
| 影响类别 | 描述 |
|---|---|
| 完整性(VI:H) | 攻击者可向存储后端写入任意内容,破坏存储中数据的完整性,例如植入恶意文件、覆盖合法资源。 |
| 可用性(VA:L) | 过度写入可能导致存储空间耗尽,或触发存储成本飙升,但通常可控。 |
| 机密性(VC:N) | 攻击者无法直接读取存储中的现有数据,但可通过后续操作(如诱导应用加载恶意文件)间接窃取。 |
| 附带影响 | 若存储后端配置不当(如全局可读),攻击者可利用上传的文件进行钓鱼、分发恶意软件等;若存储后端与 CDN 集成,可能被用作 DDoS 放大攻击源。 |
重要提示: 虽然 CVSS 4.0 向量中 SC:N(无副系统影响)和 SI:N(无安全基础设施影响),但这主要是针对平台本身的直接评估。实际业务场景中,若存储后端与其他系统关联,该漏洞可能导致连锁风险。
修复建议
官方补丁
升级至 Chatwoot 4.16.0 或更高版本。该版本在直接上传控制器中增加了强制身份验证和租户验证逻辑。
临时缓解措施(若无法立即升级)
- 限制网络访问:在反向代理(如 Nginx、Apache)或 Web 应用防火墙(WAF)层面,对
*/direct_uploads*相关路径添加 IP 白名单或请求验证规则。 - 修改路由:临时禁用或重命名直接上传端点(若业务允许延后),或添加
before_action :authenticate_user!等鉴权回调(需自行修改代码)。 - 强化存储后端安全:
- 配置对象存储的 bucket 策略为 私有,仅允许应用服务器通过签名 URL 访问。
- 限制签名 URL 的有效期(TTL)至最小必要时间。
- 启用存储后端访问日志,监控异常的上传活动。
- 监控告警:对短时间内大量 blob 创建或异常大小的上传行为设置告警。
参考资料
| 类型 | 链接 |
|---|---|
| CVE 详情 | https://nvd.nist.gov/vuln/detail/CVE-2026-63765 |
| CWE-306 | https://cwe.mitre.org/data/definitions/306.html |
| Chatwoot 官方安全公告 | https://www.chatwoot.com/security(若已发布) |
| VulnCheck 披露 | disclosure@vulncheck.com(来源) |
备注: 由于漏洞状态为
Deferred(暂缓),NVD 可能尚未提供完整细节。以上分析基于公开描述及 CVSS 向量进行合理推断,具体利用方式可能因 Chatwoot 实现版本略有差异。建议参考官方发布的修复 commit 或安全公告以获取准确补丁信息。