CVE-2025-15391CVE-2025-15391是D-Link DIR-806A 100CNb11路由器中存在的一个命令注入漏洞。该漏洞位于SSDP(简单服务发现协议)请求处理器的ssdpcgi_main函数中,攻击者可以通过构造恶意的SSDP请求来注入并执行任意系统命令。
SSDP是通用即插即用(UPnP)协议的核心组件,用于在局域网中发现和公告网络设备和服务。D-Link DIR-806A路由器默认启用了SSDP服务,这使得攻击者可以在同一网络环境中向目标设备发送特制的SSDP请求。由于漏洞存在于处理SSDP请求的函数中,攻击者可以在请求中嵌入系统命令,设备在解析和处理这些请求时会执行注入的命令。
该漏洞的危险性在于它可以通过网络远程利用,且只需要低权限账户即可发起攻击,无需用户交互。CVSS评分6.3分(中等严重程度),主要影响机密性、完整性和可用性三个方面,评级均为低。虽然该漏洞的CVSS评分处于中等水平,但由于D-Link DIR-806A是一款曾经广泛使用的家庭和小型办公路由器,其影响范围可能相当广泛。
值得注意的是,受影响的产品版本已经不再受D-Link官方支持,这意味着用户可能无法获得官方的安全更新和补丁。这进一步增加了该漏洞的潜在风险,因为用户需要自行采取缓解措施来保护其设备安全。漏洞利用代码已经在公开渠道可得,这降低了攻击者的利用门槛,使得即使是技术能力有限的攻击者也可能成功利用此漏洞。
D-Link DIR-806A路由器在处理SSDP请求时存在命令注入漏洞。漏洞位于ssdpcgi_main函数中,该函数负责处理来自客户端的SSDP NOTIFY和M-SEARCH请求。
SSDP协议使用HTTP类消息格式,通过UDP协议在1900端口进行通信。当路由器接收到SSDP请求时,ssdpcgi_main函数会解析请求头中的特定字段,如LOCATION、NT(Notification Type)和USN(Unique Service Name)等。问题在于,该函数在解析这些字段时未对用户输入进行充分的输入验证和命令边界过滤。
攻击者可以在SSDP请求的NOTIFY消息中构造恶意的LOCATION字段或NT字段,嵌入shell元字符和系统命令。例如,在字段值中插入分号(;)或管道符(|)等命令分隔符,后跟需要执行的系统命令。当路由器解析这些字段并将其传递给系统命令执行函数(如system()或popen())时,注入的命令将被执行。
由于漏洞存在于网络服务处理逻辑中,攻击者只需在目标设备的局域网内即可发起攻击。攻击者可以是同一网络中的任何设备,包括受控的物联网设备、恶意软件感染的计算机或其他路由器。攻击过程不需要任何认证,只需要发送特制的UDP数据包到目标设备的1900端口即可。
成功利用此漏洞后,攻击者可以在路由器上执行任意系统命令,从而完全控制设备。这允许攻击者修改路由器配置、监听网络流量、安装后门或将其作为僵尸网络的一部分。考虑到路由器在网络中的网关角色,控制路由器意味着攻击者可以进一步攻击网络中的其他设备。