CVE-2018-25299Prime95 29.4b8版本存在严重的本地缓冲区溢出漏洞。该漏洞源于程序在处理PrimeNet连接设置中的代理主机名字段时缺乏足够的边界检查。攻击者可利用此漏洞注入特制的恶意payload,覆盖结构化异常处理(SEH)机制。成功利用该漏洞可允许攻击者在本地系统上执行任意代码,完全控制受影响系统,对数据的机密性、完整性和可用性构成严重威胁。
该漏洞发生在Prime95处理用户配置的PrimeNet代理服务器设置环节。具体而言,当程序读取“可选代理主机名”输入字段时,由于未验证输入长度,引发了基于栈的缓冲区溢出。攻击者通过向该字段输入超长字符串,可以覆盖栈上的返回地址或SEH(结构化异常处理)记录。利用过程中,攻击者通常会在缓冲区中填充特定的垃圾数据以到达SEH记录位置,随后覆盖SEH处理程序指针指向一条“POP POP RET”指令(位于系统DLL中),从而将执行流重定向到攻击者放置在缓冲区中的Shellcode。由于无需用户交互和认证,一旦攻击者能够操作配置文件或界面,即可触发异常处理流程并执行任意系统命令。