CVE-2016-20050NetSchedScan 1.0版本存在严重的缓冲区溢出漏洞。攻击者可在本地利用该软件“scan Hostname/IP”字段未对输入长度进行限制的缺陷,通过输入超长字符串导致应用程序崩溃。具体表现为向该字段粘贴包含388字节数据及4字节EIP覆盖的特定载荷,即可触发拒绝服务条件。
该漏洞的根源在于NetSchedScan 1.0在处理用户输入的主机名或IP地址时,使用了不安全的内存拷贝操作(如strcpy),未对输入字符串的长度进行校验。攻击者可以构造一个精心设计的Payload,该Payload由388字节的填充数据(用于填充缓冲区)和4字节的特定数据(用于覆盖EIP寄存器)组成。当程序尝试处理此输入时,由于数据量超过了缓冲区的容量,多余的数据将溢出到栈上的相邻内存区域,覆盖返回地址或关键寄存器(如EIP)。这导致程序执行流程发生劫持,进而引发异常终止(DoS)。虽然当前利用主要导致崩溃,但在特定条件下控制EIP可能进一步导致代码执行。