IPBUF安全漏洞报告
English
CVE-2025-64642 CVSS 8.0 高危

CVE-2025-64642 NMIS/BioDose不安全的文件权限漏洞

披露日期: 2025-12-02

漏洞信息

漏洞编号
CVE-2025-64642
漏洞类型
不安全的文件权限
CVSS评分
8.0 高危
攻击向量
本地 (AV:L)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
NMIS/BioDose

相关标签

不安全文件权限本地权限提升代码注入NMISBioDose医疗设备ICS高危漏洞CVE-2025-64642

漏洞概述

CVE-2025-64642是影响NMIS(Network Management Information System)/BioDose V22.02及之前版本的安全漏洞。该漏洞源于安装目录路径默认配置了不安全的文件权限,在特定部署场景下,客户端工作站上的用户可以修改程序可执行文件和库文件。由于BioDose通常用于医疗和关键基础设施领域,此漏洞可能导致恶意代码注入、完整性破坏或服务中断。攻击者利用本地低权限访问,通过修改可执行文件或库文件,可实现权限提升或远程代码执行。CVSS 3.1评分8.0,属于高危漏洞,对系统完整性和可用性造成严重影响。

技术细节

该漏洞属于Windows操作系统中的不安全的文件权限(Insecure File Permissions)问题。NMIS/BioDose在默认安装时,安装目录及其子目录设置了过于宽松的访问控制列表(ACL),允许普通用户具有写入权限。攻击者通过以下方式利用:1) 定位BioDose安装目录(通常位于C:\Program Files\NMIS或类似路径);2) 识别具有写权限的可执行文件(.exe)或动态链接库(.dll);3) 将恶意可执行文件或修改后的库文件替换原始文件;4) 等待管理员或服务账户下次执行时触发恶意代码。由于BioDose服务可能以较高权限运行,攻击者可实现本地权限提升。攻击向量为本地(AV:L),无需认证(PR:N)和用户交互(UI:N)。

攻击链分析

STEP 1
步骤1
攻击者获得客户端工作站的本地访问权限(低权限用户账户)
STEP 2
步骤2
识别NMIS/BioDose安装目录位置,通常位于Program Files或ProgramData目录
STEP 3
步骤3
使用Windows icacls命令或PowerShell检查目录和文件权限,确认Users组具有写入权限
STEP 4
步骤4
定位可执行文件(.exe)或动态链接库(.dll),如BioDose.exe或相关DLL
STEP 5
步骤5
创建恶意可执行文件或修改原始DLL,注入恶意代码(如后门、权限提升代码)
STEP 6
步骤6
用恶意文件替换原始文件,由于权限配置不当,替换操作成功
STEP 7
步骤7
等待管理员或服务账户下次启动BioDose程序时执行恶意代码
STEP 8
步骤8
实现本地权限提升,以高权限执行任意代码,完全控制系统

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-64642 PoC - 检查NMIS/BioDose文件权限 import os import subprocess import sys def check_nmis_permissions(): """检查NMIS/BioDose安装目录的文件权限""" # 常见的NMIS/BioDose安装路径 possible_paths = [ r"C:\Program Files\NMIS", r"C:\Program Files (x86)\NMIS", r"C:\Program Files\BioDose", r"C:\ProgramData\NMIS", r"C:\ProgramData\BioDose" ] vulnerable_files = [] for path in possible_paths: if os.path.exists(path): print(f"[+] Found installation directory: {path}") # 检查目录权限(Windows icacls命令) try: result = subprocess.run( ['icacls', path], capture_output=True, text=True, timeout=10 ) print(f"[>] Permissions for {path}:") print(result.stdout) # 检查可执行文件和DLL的写权限 for root, dirs, files in os.walk(path): for file in files: if file.endswith(('.exe', '.dll')): file_path = os.path.join(root, file) # 检查Users组是否有写入权限 try: perm_result = subprocess.run( ['icacls', file_path], capture_output=True, text=True, timeout=10 ) if 'Users:(F)' in perm_result.stdout or 'Users:(M)' in perm_result.stdout: print(f"[!] VULNERABLE: {file_path} - Users have write access") vulnerable_files.append(file_path) except: pass except Exception as e: print(f"[-] Error checking permissions: {e}") if vulnerable_files: print(f"\n[!] Found {len(vulnerable_files)} vulnerable files") print("[!] This system is vulnerable to CVE-2025-64642") return True else: print("\n[+] No obvious file permission vulnerabilities found") return False if __name__ == "__main__": check_nmis_permissions()

影响范围

NMIS/BioDose V22.02
NMIS/BioDose 所有之前版本

防御指南

临时缓解措施
立即使用Windows icacls命令修复文件权限,将安装目录设置为仅允许 Administrators 和 SYSTEM 账户具有完全控制权限。对于无法立即打补丁的环境,可通过修改ACL阻止非授权用户写入可执行文件和库文件,同时监控目录变更以检测潜在攻击活动。

参考链接

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