CVE-2016-20043NRSS RSS Reader 0.3.9-1版本存在严重的栈缓冲区溢出漏洞。该漏洞源于程序未能正确处理通过`-F`参数传入的用户输入数据。本地攻击者可以利用此缺陷,通过提交超长参数触发溢出。由于缺乏边界检查,攻击者能够覆盖栈上的返回地址。成功利用该漏洞可导致应用程序崩溃,或在目标系统上执行任意代码,从而完全控制系统,对机密性、完整性和可用性造成严重影响。
此漏洞属于经典的栈缓冲区溢出类型。在NRSS RSS Reader解析命令行参数`-F`时,程序使用了不安全的字符串拷贝操作,将用户提供的输入直接复制到栈上分配的固定大小缓冲区内,且未进行任何长度校验。攻击者可以构造一个包含256字节填充数据的恶意载荷,紧随其后的是一个用于覆盖EIP(指令指针)的特定地址。当程序执行时,缓冲区被填满,多余的数据溢出并覆盖了栈帧中的基指针和返回地址。通过控制返回地址,攻击者可以将程序的执行流重定向至预置的Shellcode或ROP链。鉴于CVSS评分为8.4且无需用户交互,一旦攻击者获得本地执行权限,即可利用此漏洞提升权限或维持持久化访问,对系统安全造成毁灭性打击。