CVE-2025-50401CVE-2025-50401是影响Mercury D196G路由器固件版本d196gv1-cn-up_2020-01-09_11.21.44的一个严重缓冲区溢出漏洞。该漏洞存在于函数sub_404CAEDC中,当处理用户通过password参数输入的数据时,由于缺乏适当的边界检查,攻击者可以向该参数注入超长字符串,导致缓冲区溢出。成功利用此漏洞的攻击者可以在受影响设备上执行任意代码,完全控制路由器。由于该漏洞的CVSS评分高达9.8分,属于严重级别,且攻击向量为网络层面,攻击者无需认证或用户交互即可发起攻击,因此具有极高的安全风险。Mercury D196G是一款广泛应用于家庭和小型办公环境的路由器设备,固件版本标识显示该版本发布于2020年1月9日。该漏洞的存在使得数百万使用该设备的用户面临被远程攻击的风险,攻击者可以利用此漏洞构建僵尸网络、进行中间人攻击或窃取敏感网络数据。
该漏洞的根本原因在于Mercury D196G路由器固件中的sub_404CAEDC函数在处理password参数时存在严重的缓冲区溢出问题。具体来说,该函数在接收用户输入的password参数后,没有对输入数据的长度进行充分的验证和限制。当攻击者向password参数发送超出预期长度的数据时,超出的数据会覆盖相邻的内存区域,包括函数返回地址、栈帧指针等关键数据结构。在典型的栈缓冲区溢出场景中,攻击者可以通过精心构造的payload覆盖函数的返回地址,使其跳转到攻击者控制的代码位置(如shellcode)。由于该路由器运行的是嵌入式Linux系统,攻击成功后可以获取具有root权限的shell,完全控制设备。漏洞的利用过程相对简单,攻击者只需构造一个包含超长字符串的HTTP请求,将password参数的值设置为恶意payload,即可触发溢出。由于无需认证,攻击者可以直接从网络层面发起攻击,这大大降低了攻击门槛。