CVE-2016-20044PInfo 0.6.9-5.1版本存在严重的本地缓冲区溢出漏洞。该漏洞由于程序未正确处理-m参数的输入长度导致,攻击者无需进行用户交互或身份认证即可利用。通过构造包含特定填充和返回地址的恶意参数,攻击者可覆盖指令指针,从而在本地系统以用户权限执行任意代码,完全控制受影响系统。
该漏洞的根源在于PInfo软件在解析命令行参数-m时,缺乏对输入数据长度的有效校验,导致堆栈缓冲区溢出。攻击者可以精心设计一个长度超过缓冲区容量的输入字符串,利用564字节的填充数据精确覆盖堆栈中的返回地址。由于攻击向量为本地(AV:L)且无需特权(PR:N),一旦攻击者在目标系统上获得初始访问权限,即可利用此漏洞进行提权。覆盖返回地址后,程序执行流将被重定向至攻击者注入的Shellcode,从而实现任意代码执行,破坏系统的机密性、完整性和可用性。