🟠 【深度分析】高危安全漏洞:CVE-2026-63764

CVSS 评分: 高危(7.7)🟠  状态: Awaiting Analysis  发布时间: 2026-07-21


🔍 技术细节速览

字段 值
CVE ID CVE-2026-63764
CVSS 评分 7.7 🟠
严重程度 高危
CVSS 向量 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/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-918
发布时间 2026-07-21
最后更新 2026-07-23
状态 Awaiting Analysis
数据来源 disclosure@vulncheck.com

⚠️ CVSS 评分:7.7(高危)
CVSS 向量(4.0):AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:N/SA:N
攻击路径:网络远程 | 复杂度:低 | 权限要求:无 | 用户交互:无
影响:对安全域的机密性产生高影响(SC:H),对受害者系统的机密性、完整性、可用性无直接危害。


漏洞概述

CVE-2026-63764 是 LMDeploy(一个用于大语言模型部署的高性能工具包)中存在的服务器端请求伪造(SSRF)漏洞,严重等级为高危。该漏洞存在于 connection.py 的 _load_http_url 函数中,由于在处理 HTTP 重定向时未重新验证目标主机的 IP 地址,导致攻击者可以诱使服务器向内部网络(如私有 IP 或云元数据端点)发起请求,进而泄露内部服务敏感信息。

漏洞影响 LMDeploy 至 0.14.0 版本,已在 Git 提交 03c3130 中修复。


受影响组件与版本

  • 受影响项目:LMDeploy
  • 受影响版本:≤ 0.14.0(含 0.14.0)
  • 修复版本:commit 03c3130 及之后版本(官方未发布包含该修复的新版本号,建议关注代码库更新)
  • 主要受影响模块:connection.py 中的 _load_http_url 函数,该函数用于处理 chat completions 接口中用户提交的 image_url 参数。

漏洞原理分析

技术成因

LMDeploy 在处理用户提供的远程图像 URL(image_url)时,会调用 _load_http_url 函数通过 HTTP 获取图像数据。该函数在发起请求前会执行私有 IP 防护检查,即验证原始 URL 解析后的 IP 地址是否属于私有地址段(如 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 或 127.0.0.0/8 等)。若原始 URL 指向公网地址,则允许请求。

然而,函数并未对 HTTP 重定向后的目标主机再次执行 IP 地址验证。攻击者可以:

  1. 在自己的公网服务器上部署一个 HTTP 响应,返回 3xx 状态码并设置 Location 头指向内部地址(如 127.0.0.1:8080、169.254.169.254(云元数据端点)或内网其他服务)。
  2. 将服务器地址作为 image_url 提交给 LMDeploy 的 chat completions 端点。
  3. 服务端通过初始验证确认原始地址为公网 IP,随后发起请求并跟随重定向,最终访问到内部服务。
  4. 攻击者可以通过模型 pipeline 的返回内容(如错误信息、图像处理结果)获取内部服务的响应数据,导致信息泄露。

攻击向量

  • 攻击入口:/chat/completions 等对外开放的 API 端点,允许未授权用户提交 image_url。
  • 利用条件:无需认证(CVSS PR:N),无需用户交互(CVSS UI:N),攻击复杂度低(CVSS AC:L),无需攻击者具备网络特殊位置(CVSS AT:N)。
  • 潜在目标:云环境中的元数据 API(如 AWS 169.254.169.254、GCP metadata.google.internal)、内网 Web 服务、敏感管理接口等。

代码逻辑细节(基于公开信息推断)

根据漏洞描述,关键缺陷在于:

def _load_http_url(url):
    # 检查原始 URL 的 IP 地址
    if is_private_ip(resolve_host(url)):
        raise SSRFGuardException("Private IP not allowed")
    # 发起请求并允许重定向
    response = requests.get(url, allow_redirects=True)
    # 未对重定向后的最终 URL 再次进行 IP 检查

这种仅检查首跳地址的方式是经典的不完整 SSRF 防护模式,攻击者通过中间人重定向即可绕过。


影响评估

评估维度 分析结果
攻击复杂度 低 - 只需部署一个简单的重定向服务器,无需特殊知识或工具
所需权限 无 - 攻击者无需身份认证
用户交互 无 - 攻击完全自动化
影响范围 可能涉及内部网络中的多个敏感服务
机密性影响 高 - 可通过 SSRF 读取云元数据(如云平台凭证、内部网络拓扑)或内网 web 服务的敏感文档
完整性影响 无(直接危害) - 攻击者不能修改服务器数据
可用性影响 无(直接危害) - 不导致拒绝服务
安全域影响 高 - 破坏了边界安全,使内部网络暴露给外部攻击者

该漏洞的核心威胁在于 突破网络隔离。在云原生环境中,LMDeploy 实例通常具有访问云元数据端点(169.254.169.254)的权限,攻击者利用此 SSRF 可窃取云服务提供商临时凭据(如 AWS 的 role-credentials),进而横向移动至整个云账号。


修复建议

官方修复

  • Git 提交:03c3130
  • 修复方式:在跟随 HTTP 重定向后,对最终的 Location URL 重新进行私有 IP 检查,或限制跟随重定向的域名/IP 范围。
  • 建议:立即更新代码至包含该提交的版本。若官方发布新版本,请升级至 ≥ 修复版本号的发行版。

临时缓解措施(无法立即升级时)

  1. 限制出站网络:

    • 在 LMDeploy 服务器所在网络边界(如防火墙、NAT 网关)禁止服务器访问私有 IP 地址范围(10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 127.0.0.0/8, 169.254.0.0/16 等)。
    • 仅允许访问明确授权的公网资源。
  2. 修改配置禁用 image_url 功能:

    • 如果业务不需要远端图像加载,可修改 API 逻辑,拒绝处理 image_url 参数,或仅支持本地 base64 编码的图像数据。
  3. 添加重定向验证:

    • 在代码中补全以下逻辑(示例伪代码):
      response = requests.get(url, allow_redirects=False)
      while response.status_code in (301, 302, 303, 307, 308):
          new_url = response.headers['Location']
          if is_private_ip(resolve_host(new_url)):
              raise SSRFGuardException("Redirect to private IP blocked")
          response = requests.get(new_url, allow_redirects=False)
      
  4. Web 应用防火墙(WAF)规则:

    • 添加规则检测 image_url 参数中的重定向特征(如 Location 头指向内网地址的响应),但鉴于请求由服务器端发起,WAF 可能需要部署在出站方向。

参考资料

⚠️ 现有信息不足以确定:本分析未获得源代码的具体实现,部分代码片段为基于漏洞描述的合理推演。建议安全团队直接审查 connection.py 中 _load_http_url 函数的实际逻辑以确认细节。


撰写日期:2026-07-22
分析基于 NVD 披露数据及 CVSS 4.0 向量